Razón detrás del formato HeapSpray

3

Tengo curiosidad por saber por qué la fumigación con pilas consiste en asignar repetidos trozos de NOP + Shellcode ? ¿Por qué el formato no se repite NOP y, a continuación, solo Shellcode al final; cuando se produce el giro de la pila, ¿ EIP simplemente deslizaría hacia abajo el trineo hasta que llegara al shellcode? Además, en un Heap Spray, una dirección predecible parece ser siempre elegida para girar también, por lo que la repetición de fragmentos parece innecesaria.

    
pregunta dylan7 21.01.2016 - 14:16
fuente

1 respuesta

4

El punto de una pulverización es que no siempre se sabe exactamente a qué bloque se asignó su objeto. Creo que es porque cuán volátil puede ser el montón. En cualquier momento dado, se podría asignar un bloque de memoria, y su NOP sled / shellcode podría interrumpirse.

Usted ve ejemplos con direcciones predecibles porque facilita el aprendizaje del concepto, pero en el ASLR salvaje asignará al azar la ubicación del montón. Así que necesitas ser lo más robusto posible.

    
respondido por el RoraΖ 21.01.2016 - 14:38
fuente

Lea otras preguntas en las etiquetas