Al hacer una asignación universitaria, estamos lanzando un shell en un servidor remoto. Todo está bien, conecté de nuevo el código de shell, y cuando codifiqué la cadena de ataque hexadecimal en el servidor y salté a ella, se inició. (La pila es ejecutable, así que ese no es el problema (¡aunque fue por un tiempo!))
Sin embargo, cuando lo paso (empaquetado usando Perl) a través de la conexión TCP, solo se ejecuta parte del camino. Usando gdb, pude determinar que configuró el socket y la conexión, pero seguí en el punto en el que estaba presionando "/ bin / sh" en la pila, específicamente al golpear un \ x89 (mov ebx, esp).
¿Alguna idea sobre lo que está sucediendo aquí?
¡Gracias!