elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: (TUTORIAL) Aprende a emular Sentinel Dongle By Yapis


  Mostrar Mensajes
Páginas: [1]
1  Seguridad Informática / Bugs y Exploits / Re: Protostar-Stack4 wargame en: 19 Agosto 2015, 21:19 pm
Hola aer0x y Kr0m.
Yo estoy exactamente en la misma situación que Kr0m, estoy empezando con el reversing y me estoy pegando con el reto stack4 de exploit-exercise.He superado el reto compilando el programa a la vieja usanza (con las opciones que indicó Kr0m: -mpreferred-stack-boundary=2)
Sin embargo sigo sin poder solucionarlo con una compilación "estandar" (gcc -fno-stack-protector - execstack stack4.c -o stack4) y me gustaría entender cómo hacerlo.

Entendiendo que hacen estas dos instrucciones:
mov ecx,[ebp-0x4]
lea esp,[ecx-0x4]

y teniendo en cuenta que el ASLR no está activado puedes poner dos direcciones de memoria en la entrada de datos junto al relleno y conseguir con esto superar el reto.

Aquí es donde me pierdo. Estoy muy pez en ensamblador, así que corregidme si me equivoco. Por lo que entiendo:
mov ecx,[ebp-0x4] -> Copia en ecx el valor de ebp-0x4, es decir, la posición de retorno, aquí es donde debemos insertar la dirección de salto a la funcion win
lea esp,[ecx-0x4] -> Copia en esp el contenido de la memoria al que apunta ecx y le resta 0x4 (esto es lo que dudo.)

Así que lo que he intentado es sumar 0x4 a la dirección de la funcion win y y escribirla a continuación del relleno. Pero esto no funciona. ¿Qué es lo que estoy haciendo mal? Supongo que no he interpretado bien lo que hace la instruccion lea esp,[ecx-0x4] ¿No?

Un saludo.
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines