Cómo adaptar mi estrategia de explotación cuando “00” es parte de la dirección de retorno específica y la víctima usa strcpy

0

Tengo la intención de explotar el siguiente programa en una máquina x86 Linux con NX habilitado (ASLR y pila canario deshabilitados). El objetivo es conseguir una concha.

//vuln.c
#include <stdio.h>
#include <string.h>

int main(int argc, char* argv[]) {
 char buf[256]; /* [1] */ 
 strcpy(buf,argv[1]); /* [2] */
 printf("%s\n",buf); /* [3] */
 fflush(stdout);  /* [4] */
 return 0;
}

Mi estrategia es usar ret2libc e inyectar mi carga útil:

payload = <filler> + <addr of system> + <addr of exit> + <arg1 for system>

La carga útil tiene la intención de utilizar la API del sistema para llamar a / bin / sh para obtener un shell. Sin embargo, addr of system contiene 00 en el medio y strcpy dejará caer mi carga después del finalizador nulo.

¿Cuál sería la estrategia para explotar este binario entonces?

    
pregunta drdot 25.07.2016 - 04:51
fuente

0 respuestas

Lea otras preguntas en las etiquetas