Título: Sustitución directa del EIP Publicado por: Lodos76 en 5 Marzo 2014, 19:31 pm Buenos días.
Quiero preguntar sobre sustituir el EIP directamente (en un BoF) sin usar un JMP REGISTRO, el porqué da error. El código es el siguiente: vuln1.c Código
Si yo ejecuto exploit1.c, EIP apuntará a TTTT, pero si yo ejecuto exploit2.c, EIP no apuntará a 0x7C86467B (EIP me está apuntando ahora mismo a 0022FF009), por el tema que la pila cambia y tal, pero aunque apuntara a algo que no existe, ese debería ser el EIP, sin necesidad de un JMP registro, al fin y al cabo, es lo mismo que pasar letras TTTTT, ¿no? exploit1.c Código
exploit2.c Código
Título: Re: Sustitución directa del EIP Publicado por: MCKSys Argentina en 5 Marzo 2014, 23:56 pm Si yo ejecuto exploit1.c, EIP apuntará a TTTT, pero si yo ejecuto exploit2.c, EIP no apuntará a 0x7C86467B (EIP me está apuntando ahora mismo a 0022FF009), por el tema que la pila cambia y tal, pero aunque apuntara a algo que no existe, ese debería ser el EIP, sin necesidad de un JMP registro, al fin y al cabo, es lo mismo que pasar letras TTTTT, ¿no? No. En exploit2.c estas declarando la variable EIP[] con lo que haces que el stack frame crezca (4 bytes mas). No tengo aqui para compilar, pero prueba dejando las T's en el 2° ejemplo... Saludos! EDIT: Olvidate de lo anterior. Necesito dormir... :P Título: Re: Sustitución directa del EIP Publicado por: Lodos76 en 6 Marzo 2014, 01:53 am ??
exploit2.c está explotando a vuln1.c, y en exploit2.c la variable EIP se concatena a evilbuffer, así que la pila no se modifica. De todos modos lo he probado y me ha salido lo mismo, ya que no pusheo datos, sinó que los meto en la pila mediante un BoF (sustituyo lo que había anteriormente :D). Salu2 Título: Re: Sustitución directa del EIP Publicado por: Lodos76 en 10 Marzo 2014, 00:34 am borrar
|