porque no puedo realizar este ejercicio?, es por el compilador?

Iniciado por Belial & Grimoire, 11 Mayo 2012, 04:26 AM

0 Miembros y 2 Visitantes están viendo este tema.

Belial & Grimoire

hola

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

#include <stdio.h>
#include <string.h>

int main(){

int array[5];
int i;

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

   array[i] = 10;
   
}

}


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

shellcoders@debian:~/chapter_2$ cc buffer2.c
shellcoders@debian:~/chapter_2$ ./a.out
Segmentation fault (core dumped)


sin embargo, cuando lo hago no me aparece

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

.                                 

durasno

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
Ahorrate una pregunta, lee el man

Slava_TZD

#2
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...

for (i = 0; i <= sizeof(array)/sizeof(int); i++){

  array[i] = 10;

}






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

Cita de: Tzhed\ Kyperf/ 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...

for (i = 0; i <= sizeof(array)/sizeof(int); i++){

  array[i] = 10;

}






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

Eternal Idol

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

hola gracias por responder, pero no lo consigo

#include <stdio.h>
#include <string.h>

int main(){

int array[5];
int i;

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

   array[i] = 10;
   
}

}


Citargazette@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
.                                 

Belial & Grimoire

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?

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
.