2011-03-13 12 views
7

Por lo general, todos vemos el formato de desbordamiento del búfer de base, que cuenta con: - NOPs + shellcode + return_addressBuffer formato de ataque de desbordamiento

¿Por qué no usamos, NOPs + return_address + shellcode? donde realizamos el punto de dirección de retorno al inicio del código shell?

Supongo que esto se debe a que podríamos estar tratando de escribir datos fuera del segmento de pila si la vulnerabilidad está en el main(). ¿Estoy en lo cierto? Si lo soy, ¿es esa la única razón?

Ah, y sí, no me estoy refiriendo a otros tipos de ataques que usan return-to-libc, ptrace, etc. Solo deseo saber por qué el ataque de desbordamiento de búfer más básico se demuestra de la primera manera y no el segundo en todas partes.

Respuesta

10

La dirección de devolución puede venir antes del shellcode+nop sled o después. Por ejemplo, si escribe en una variable cerca de la parte superior de la pila, es posible que deba escribir su nop sled+shell code después de la Dirección de devolución (EIP) porque es posible que no haya suficiente espacio.

Sin embargo, el trineo NOP siempre estará junto al código del intérprete de comandos. La razón es porque usa un trineo nop para hacer que el objetivo de su código de shell sea lo más grande posible. Si su EIP apunta + = 100 bytes desde su código de shell, entonces necesita usar un trineo nop de más de 100 bytes para garantizar que llegue a su destino. Por lo tanto, NOPs + return_address + shellcode no es válido. Un exploit común cadena se verá así:

JUNK + return_address + NOPs + shellcode

Y, por supuesto, un ataque "return-to-libc" estilo no requiere código shell o un trineo nop.

Este exploit de desbordamiento de búfer simplificado basado en pila no funcionará en un sistema moderno. Alpeh-One's Smashing The Stack for Fun and Profit ya no funciona debido a las zonas NX, stack canaries y ASLR, todas predeterminadas en Windows y Linux.

Usted debe recoger una copia de:

enter image description here

+2

gracias por su respuesta detallada! –

Cuestiones relacionadas