elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
27 Mayo 2012, 21:52  


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales

+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Bugs y Exploits (Moderador: berz3k)
| | |-+  calcular el tamaño del buffer de la variable del programa cuando no se tiene el
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: calcular el tamaño del buffer de la variable del programa cuando no se tiene el  (Leído 2,815 veces)
CALONDOLO

Desconectado Desconectado

Mensajes: 2


Ver Perfil
calcular el tamaño del buffer de la variable del programa cuando no se tiene el
« en: 15 Junio 2007, 22:55 »

hola que tal muyyy buenas tardes,,,
como hago para calcular el tamaño del buffer de la variable en un programa del cual no tengo el codigo fuente,,,
por ejemplo,,   el archivo crontab tiene activo el bit setuid y necesito desbordarlo para conseguir la direccion de retorno, pero como hago para saber el tamaño de la variable de crontab, si no puedo ver el codigo fuente ,, para saber cuantas A, debo enviarle para saber en que momento se causa el desbordamiento de buffer y asi poder conseguir la direcccion de retorno,,


ok,,,,,,gracias al que me ayude,,
« Última modificación: 16 Junio 2007, 17:50 por Sirdarckcat » En línea
yeikos


Desconectado Desconectado

Mensajes: 1.424



Ver Perfil
Re: calcular el tamaño del buffer de la variable del programa cuando no se tiene
« Respuesta #1 en: 16 Junio 2007, 02:41 »

Una solución rápida es ir tanteando la cantidad de caracteres necesarios y justos para causar el desbordamiento.

Primero empezaremos introduciendo como parámetro la letra A muchas veces, asegurando un overflow seguro, entonces el EBP (dirección actual) y el EIP (siguiente dirección) mostraran la misma dirección: 414141 hex(41) => asc(65).

Ahora iremos disminuyendo la cantidad de letras a introducir y colocaremos al final de la cadena que provocará el desbordamiento: BBBB. Cuando el EBP indique 414141 y el EIP 424242 podremos dar por hecho que hemos encontrado la cantidad exacta para causar el desbordamiento. Ahora tan solo deberemos de deshacernos de los cuatro caracteres finales, BBBB, para introducir la dirección del Offset que realizará el salto, y seguidamente la shellcode a ser ejecutada.
En línea
Rozor

Desconectado Desconectado

Mensajes: 269


As I Walk Through The Valley Of The Shadow Of Dead


Ver Perfil WWW
Re: calcular el tamaño del buffer de la variable del programa cuando no se tiene
« Respuesta #2 en: 16 Junio 2007, 12:44 »

Fuzzing Prueba esa tecnica veras como te ahorras, en este caso ya sabes a por lo que vas asique hazle


lo que sea A

bucle

A++

loque sea AA

etc...

Cuando retorne error o overflow lo miras.

Si para windows muy probablemente, un byte antes de desbordar se vuelve loco a imprimir lo que hay en cmd repetidas veces xDDDDDD . Pero tambien puede ser que no, ami me ha pasado varias veces con soft distintos.

Por cierto si te interesa la tecnica mirate "The Art Of Fuzzing" "TAOF"
En línea

out in the streets they call it murder....
dark_hat

Desconectado Desconectado

Mensajes: 183



Ver Perfil
Re: calcular el tamaño del buffer de la variable del programa cuando no se tiene el
« Respuesta #3 en: 20 Junio 2007, 14:36 »

Tb puedes desensamblarlo para ver en q posición respecto de EBP (EBP - N) está la variable, y así  sabes q si escribes más de N bytes en esa variable se producirá el overflow.
En línea

Eso que huele es un poco de incienso,
eso marrón una tableta de turrón...
Preth00nker

Desconectado Desconectado

Mensajes: 43


Mov MyHeart, 4C6F7665h!!!


Ver Perfil
Re: calcular el tamaño del buffer de la variable del programa cuando no se tiene el
« Respuesta #4 en: 21 Junio 2007, 00:10 »

que tal?
bien, como ya habrás leido por las recomendaciones de los compañeros del foro, le mejor manera (aunque tal vez no la más avanzada) es meterle tamaños al tanteo, te recomiendo que hagas un programa (bastante sencillo) para generar  y contar cadenas de texto, en VB es bastante sencillo
(la función len() y los bucles while son muy útiles a la hora de crear un programa como el que te comento, en un futuro te ayudará bastante si este tipo de vulnerabilidades te llegan a gustar), como otra recomendación te diría que intentes utilizar cadenas como las que utiliza rojo2 en su texto:
AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHHIIIIJJJJKKKKLLLLMMMMNNNNÑÑÑÑOOOOPPPPQQQQRRRRSSSS... de esta manera vas avanzando por el buffer de una manera bastante rápida y al petar el programa tendrás una idea de donde necesitas cortar.
bien, espero que te sirva esto
salut's
En línea

mov [MyBrain], IA
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Calcular tamaño de un archivo.txt
Programación C/C++
itzg3 5 2,448 Último mensaje 7 Diciembre 2010, 19:21
por winroot
Dime dónde vives y te diré cuál es el tamaño que tiene tu pene « 1 2 3 »
Foro Libre
wolfbcn 30 4,149 Último mensaje 30 Marzo 2011, 08:48
por DaasCook
SQL INJECTION Cuando no se tiene acceso a Information_Schema.tables?
Nivel Web
th3r0rn 2 846 Último mensaje 21 Abril 2011, 07:29
por th3r0rn
Tamaño de buffer para proxy en C
Programación C/C++
KandiZickZad 0 83 Último mensaje 23 Abril 2012, 01:50
por KandiZickZad
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines