El código fuente:
Este segundo reto que nos proponen es practicamente igual que el primero, o por lo menos lleva las mismas braguitas.
Para superar el reto la variable modified tiene que ser igual a 0x61626364, lo que viene siendo "dcba" en hexadecimal (little endian). A la vez vemos que el buffer reservado es de 64 caracteres y 'modified' se iguala a cero justo antes del condicional... esta bastante claro de que va todo esto, pero vamos a verlo con radare:
La instrucción 0x080484a7 va a pasar a eax un cero que hay en esp+0x5c. Y en la siguiente instrucción lo va a comparar con 0x61626364. (dcba)
Como la función strcpy es muy chula y no "filtra" los tamaños, vamos a poder sobrescribir el 0 de esp+0x5c con >64 caracteres:
Sencillito de momento!
Esta página web ha sido creada con Jimdo. ¡Regístrate ahora gratis en https://es.jimdo.com!