Motivo alla base del formato HeapSpray

3

Sono curioso del motivo per cui l'irrorazione dell'heap consiste nell'assegnare pezzi ripetuti di NOP + Shellcode ? Perché il formato non ripete NOP e quindi solo Shellcode alla fine; quando si verifica il pivot dello stack, EIP non scivola giù dalla slitta finché non raggiunge lo shellcode? Inoltre, in uno spray di heap, un indirizzo prevedibile sembra essere sempre scelto anche per ruotare, quindi la ripetizione di blocchi non sembra necessaria.

    
posta dylan7 21.01.2016 - 14:16
fonte

1 risposta

4

Il punto di uno spray è che non sempre sai esattamente a quale blocco è stato assegnato il tuo oggetto. Credo che sia perché il mucchio può essere volatile. In qualsiasi momento potrebbe essere allocato un blocco di memoria e il tuo NOP sled / shellcode potrebbe essere interrotto.

Si vedono esempi con indirizzi prevedibili perché rendono più facile apprendere il concetto, ma in ambiente ASLR randomizzerà dove è disposto lo heap. Quindi devi essere il più robusto possibile.

    
risposta data 21.01.2016 - 14:38
fonte

Leggi altre domande sui tag