Citar
aunque me queda una duda... y es para que sirven los nops realmente...
cuando voy a follow stack veo que desde que he sobreescrito EIP hasta que veo de nuevo lineas "AAAA" pasan 26 líneas, de ahi el "\x90" * 26 de arriba, aunque he probado poniendo 30 y seguía funcionando el exploit.
cuando voy a follow stack veo que desde que he sobreescrito EIP hasta que veo de nuevo lineas "AAAA" pasan 26 líneas, de ahi el "\x90" * 26 de arriba, aunque he probado poniendo 30 y seguía funcionando el exploit.
Los nops se usan para darle una cierta libertad a la direccion de retorno al stack, en tu caso la direccion es siempre fija (=esp despues del jmp esp en user32) y se encuentra justo despues del ret. Si le sacas los nops deberia seguir funcionando.
Citar
Acabo de probar a poner otra shellcode y me da error... por lo que entiendo que he superado el espacio disponible para la shellcode... me podéis decir como se calcula ese espacio?
voy a probar a meter un pattern donde iria la shellcode... digo yo que me dirá de cuanto espacio dispongo... no??
voy a probar a meter un pattern donde iria la shellcode... digo yo que me dirá de cuanto espacio dispongo... no??
Me parece raro que hayas superado el espacio reservado para el stack porque vi que probaste con un pattern_create de 1000 bytes y paso sin problemas. El error debe estar en la shellcode que le pusistes. Posteala aca para verla sino.
Meterle un pattern donde iria la shellcode no te va a decir cuanto espacio tenes disponible, imagino que eso lo podes ver en la info del ejecutable (PE), al menos en los elf aparece. Sino mas facil, anda hasta abajo del todo en la sección de stack y fijate donde termina jeje.