Intentando entender el diseño de la pila

1

Estoy tratando de hacer este sencillo ejercicio de vulnerabilidad de formato de cadena (no es para la tarea, el semestre universitario terminó hace 1 mes en Australia) .

Hay una función de comprobación de contraseña que contiene la contraseña y compara la entrada con ella byte por byte.

Según la función, debería haber 4 variables en la pila, la cadena de conjetura, la cadena de contraseña, la respuesta de impresión (vacío antes de una conjetura) y el número de intentos restantes.

He estado leyendo el manual de Shellcoder y TAOSA, según tengo entendido, las dos matrices deberían estar una detrás de la otra en el marco de pila de esta función. Entonces, simplemente ingresando suficiente %x%x debería imprimirlo en hexadecimal, luego puedo convertir a ASCII y esa es la contraseña.

Hasta ahora, un ejemplo de contraseña es:

  

WPK1ZHv1wubJ

da a conocer

  

590481d86720756f73736575203a64657825782578257825

de la pila.

Sin embargo, esto no cambia, independientemente de la contraseña (la contraseña se toma de /dev/random cada ejecución).

¿Qué estoy haciendo mal aquí?

Nota:

He desactivado ASLR con sysctl kernel.randomize_va_space=0 y lo he compilado con -fno-stack-protector -mpreferred-stack-boundary=2

    
pregunta killingtime1 09.12.2016 - 02:47
fuente

0 respuestas

Lea otras preguntas en las etiquetas