Ajuste de la pila de desbordamiento de búfer

6

Soy bastante nuevo en los desbordamientos de búfer y en este momento estoy practicando diferentes tipos de ataques de desbordamiento de búfer. el código de shell no se ejecutó hasta que se rellenó con los NOP, aunque se configuró correctamente en la memoria y el flujo de ejecución funciona según sea necesario.

Después de la investigación, vi a algunas personas que escribieron lo siguiente:

"encuentra el código de operación para agregar esp, -1500 Pon esos bytes al inicio del código de shell. eliminar los nops "

Apreciaría si alguien pudiera ayudar a explicar esto.

Gracias de antemano

    
pregunta Ahmed Taher 06.07.2013 - 04:23
fuente

3 respuestas

3

Los NOP tienden a ser marcados por antivirus, por lo que se puede usar un método alternativo para "deslizar" la ejecución al código de shell. La forma en que se le dijo fue que agregue 1500 bytes a la ESP, que (supongo) debería reemplazar a 1500 NOP, aterrizando en su código de shell.

Si aún no has visto esto, NECESITAS estar leyendo corelan.be para ver tutoriales impresionantes de escritura de BO. Aquí es uno que explica el add esp

    
respondido por el schroeder 09.07.2013 - 22:08
fuente
1

He encontrado la respuesta:

'StackAdjustment' = > -3500, # Modificar el puntero de la pila al inicio del shellcode para que pueda usar la pila sin escribir en ella.

    
respondido por el Ahmed Taher 30.07.2013 - 03:00
fuente
0

Primero, un descargo de responsabilidad: tendría que encender una máquina virtual y repasar esto para confirmar mi respuesta. Realmente no hago mucho con las vulnerabilidades de Windows. Mirando ese artículo rápidamente, creo que estás ajustando la pila para no corromper el marco de pila actual. Cuando el bloque de código que está aprovechando para sobrescribir la cadena SEH devuelve la función, el prólogo restaurará el ESP de EBP, permitiendo que se reanude la ejecución. Más tarde, cuando se lance una excepción, su sobrescritura de SEH le dará control.

    
respondido por el David Hoelzer 14.07.2013 - 04:23
fuente

Lea otras preguntas en las etiquetas