Hola
Estaba haciendo un ejercicio sobre como hacer un exploit con return libc, pero me surgio un problema con una address, al hacer el clásico overflow, puedo conseguir un sigtrap sin problemas, pero en un tutorial que revise, menciona que hay que sacar system y la address de /bin/sh, de eso no hay problema pero resulta que la address de system contiene '00', y se reemplaza con el hex de la siguiente instruccion y me crea un error de segmentación.
system 0xf7b2c700
cuando lo coloco en python... (para esto utilizo el import struct ("I", address), solo lo coloco así para simplificar)
buff = "A"*81
buff += 0xf7b2c700
buff += "A"*4
buff += 0xf7f54f48
buff = "A"*81
buff += 0xf7b2c700
buff += 0xf7f54f48
y cuando reviso en gdb que está pasando, me aparece 0xf7b2c741 o 0xf7b2c748... lo que creo o me imagino que pasa, es que cambia la address por esos ceros de la address de system y por eso no se ejecuta ,así que me gustaría saber... ¿de qué manera podría dejar esos ceros intactos usando python - 0xf7b2c700?
saludos