Problema de Shellcode para un servicio remoto (Codificación)

0

Tengo un ejercicio para explotar un servicio remoto después de un breve diálogo con él utilizando el desbordamiento de búfer de pila. Descargué un binario en mi Ubuntu 14.04 local y lo probé con gdb.  Lo que hago es crear un archivo en wxHexeditor con un código de shell. Luego cópielo y péguelo en el diálogo (entrada para la función get). Tanto el terminal como el archivo utilizan la misma codificación (ISO 8859-15). Es posible sobrescribir con éxito la dirección ret con algunos símbolos ASCII simples como A o B. Pero cuando se trata de un shellcode real o incluso un sled NOP, mis símbolos están siendo sustituidos. Lo veo en el hexágono de la pila. Este problema genera varias preguntas:

¿Cómo puedo pasar este problema aún utilizando la entrada manual del shellcode o es posible?

¿Persistirá el problema si escribo un script que envíe shellcode como un mensaje después del diálogo?

¿Cómo puedo verificar si el problema de codificación está en la configuración de mi sistema pero no en binario que traduce la entrada a utf8 o algo así?

La respuesta a cualquiera de estas preguntas sería muy apreciada.

Actualización:

En este punto, se trata principalmente de codificación. Aquí hay un ejemplo de lo que está pasando.

Eso es lo que tengo en wxHexEditor. Ver el final:

Yesoesloquetengoenlapiladespuésdemientrada

Estaría bien con terminar AAAA (41 41 41 41).

Es como cuando se copia, pega entre diferentes aplicaciones y datos sueltos debido a una codificación diferente. Pero aquí tengo iso 8859-15 en terminal (LANG = en ..) y la misma iso 8859-15 en wxHexEditor. Tal vez haya algún lugar entre ambos.

    
pregunta humme1 30.06.2016 - 17:47
fuente

0 respuestas

Lea otras preguntas en las etiquetas