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

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  porque no puedo realizar este ejercicio?, es por el compilador?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: porque no puedo realizar este ejercicio?, es por el compilador?  (Leído 3,479 veces)
Belial & Grimoire


Desconectado Desconectado

Mensajes: 559


Tea_Madhatter


Ver Perfil
porque no puedo realizar este ejercicio?, es por el compilador?
« en: 11 Mayo 2012, 04:26 am »

hola

tengo un codigo de un tutorial sobre exploits, pero no logro saber porque no me funciona

Código
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. int main(){
  5.  
  6. int array[5];
  7. int i;
  8.  
  9. for (i = 0; i <= 255; i++){
  10.  
  11.   array[i] = 10;
  12.  
  13. }
  14.  
  15. }

el codigo en si, funciona bien, pero supuestamente al compilarlo tendria que salir de esta forma

Código
  1. shellcoders@debian:~/chapter_2$ cc buffer2.c
  2. shellcoders@debian:~/chapter_2$ ./a.out
  3. Segmentation fault (core dumped)

sin embargo, cuando lo hago no me aparece

Código:
gazette@gazetto:~/ejercicios$ ./a.out
gazette@gazetto:~/ejercicios$

creen que podria ser por el compilador, utilizo gcc-4.6 y este tutorial es del 2007 creo todavia se usaba gcc-3.xx, pero no tengo idea si es por el compilador que tengo un resultado diferente o porque mas podria ser?

en la pagina de gnu solo esta la version gcc-3.2 pero no se si intentar instalarlo o si eso no tiene nada que ver

lo supuse porque AlbertoBSD en un tutorial explica las diferencias entre gcc-4 y gcc-3 al crear un exploit

espero me puedan ayudar, salu2



En línea

.                                 
durasno


Desconectado Desconectado

Mensajes: 373


Ver Perfil
Re: porque no puedo realizar este ejercicio?, es por el compilador?
« Respuesta #1 en: 11 Mayo 2012, 07:07 am »

Hola! lo mas probable es q si sea por el compilador. De echo he visto a varios que crean un bucle parecido(pero no con el proposito q vos qres) y se ejecuta perfectamente. De todas formas deberias postear esto en la parte de hack, algo asi, q tiene esta misma pagina para q te ayuden mejor

Saludos


En línea

Ahorrate una pregunta, lee el man
Slava_TZD
Wiki

Desconectado Desconectado

Mensajes: 1.466

♪ [8675309] ♪


Ver Perfil WWW
Re: porque no puedo realizar este ejercicio?, es por el compilador?
« Respuesta #2 en: 11 Mayo 2012, 09:11 am »

Tu array solo tiene 5 elementos, sin embargo intentas acceder y asignerle un valor a 250 elementos que no existen en el array. Con gcc versión 4.6.3 20120306 (Red Hat 4.6.3-2) (GCC) da el fallo que tiene que dar de la otra manera...

Código
  1. for (i = 0; i <= sizeof(array)/sizeof(int); i++){
  2.  
  3.   array[i] = 10;
  4.  
  5. }
  6.  



« Última modificación: 11 Mayo 2012, 09:20 am por Tzhed\ Kyperf/ » En línea


The fact is, even if you were to stop bombing us, imprisoning us, torturing us, vilifying us, and usurping our lands, we would continue to hate you because our primary reason for hating you will not cease to exist until you embrace Islam.
Don Pollo

Desconectado Desconectado

Mensajes: 74

/* No comments */


Ver Perfil
Re: porque no puedo realizar este ejercicio?, es por el compilador?
« Respuesta #3 en: 11 Mayo 2012, 17:08 pm »

Tu array solo tiene 5 elementos, sin embargo intentas acceder y asignerle un valor a 250 elementos que no existen en el array. Con gcc versión 4.6.3 20120306 (Red Hat 4.6.3-2) (GCC) da el fallo que tiene que dar de la otra manera...

Código
  1. for (i = 0; i <= sizeof(array)/sizeof(int); i++){
  2.  
  3.   array[i] = 10;
  4.  
  5. }
  6.  





Está hablando de exploits. Ya sabe que debe dar el fallo, lo que pasa es que no se lo muestra.
En línea

Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.935


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: porque no puedo realizar este ejercicio?, es por el compilador?
« Respuesta #4 en: 11 Mayo 2012, 17:37 pm »

Aumenta el 255 ese hasta que falle ...
En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
Belial & Grimoire


Desconectado Desconectado

Mensajes: 559


Tea_Madhatter


Ver Perfil
Re: porque no puedo realizar este ejercicio?, es por el compilador?
« Respuesta #5 en: 11 Mayo 2012, 23:15 pm »

hola gracias por responder, pero no lo consigo

Código:
#include <stdio.h>
#include <string.h>

int main(){

int array[5];
int i;

for (i = 0; i <= 4990; i++){

   array[i] = 10;
   
}

}

Citar
gazette@gazetto:~/ejercicios$ gcc -o arrar_for arrar_for.c --no-stack-protector -g -z execstack
gazette@gazetto:~/ejercicios$ ./a.out
gazette@gazetto:~/ejercicios$

Creen que si seria conveniente que instale gcc-3.2 y ver que pasa?, lo pregunto porque en los repositorios ya no esta y tendre que hacerlo manualmene, el problema es saber si debian lo aceptara por las actualizaciones

salu2
En línea

.                                 
Belial & Grimoire


Desconectado Desconectado

Mensajes: 559


Tea_Madhatter


Ver Perfil
Re: porque no puedo realizar este ejercicio?, es por el compilador?
« Respuesta #6 en: 12 Mayo 2012, 04:49 am »

use backtrack 5 use el compilador gcc-4.1

quise hacer la prueba y ahora si me funciono, el problema es que cuando lo quise volver a intentar tuve que hacer varios intentos para que me volviera a funcionar, creen que sea normal?

Código:
root@root:~/Desktop# ./a.out
Segmentation fault (core dumped)
root@root:~/Desktop# ./a.out
root@root:~/Desktop# ./a.out
root@root:~/Desktop# ./a.out
root@root:~/Desktop# ./a.out
Segmentation fault (core dumped)

talvez si es el compilador aunque aumente de 255 a 1700, pero no se si sea normal o porque saldria asi?, porque ya intente instalar en debian ( que es el que utilizo ), gcc-3.4.6 pero no se instalo hubo mucho errores y por mas tutoriales que segui me salian errores

ahorita estoy usando backtrack 5 y el ggc mas bajo es gcc-4.1
En línea

.                                 
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines