Usando cat para superar 'Aplastamiento de pila detectado'

11

Estoy intentando ahora el ejercicio de desbordamiento de búfer desde el sitio pwnable.kr Encontré la cadena que se debe ingresar a la función de obtener, pero obtuve "Stack Smash Detected" y luego encontré una solución en rickgray.me

Ellos sugieren (python -c 'print "A" * 52 + "\ xbe \ xba \ xfe \ xca"'; cat -) | nc pwnable.kr 9000

que funciona, De alguna manera la adición del comando "cat -" vence al canario. No entiendo porque es eso

    
pregunta dafnahaktana 28.01.2016 - 14:55
fuente

1 respuesta

3

Esto evita la detección de aplastamiento de la pila porque la comprobación de la cookie / canario de la pila ocurre solo en el epílogo de la función.

Dado que el desafío que publicaste requiere romper algo en la pila directamente que se usa en una comprobación lógica en la misma función, el canario no se verifica cuando recibes tu shell.

El canario evita, principalmente, que no se aplasten las pilas para sobrescribir la dirección de retorno.

El comentario sobre la pregunta sobre el comando cat que está presente para permitir la redirección de entrada / salida es correcto, de lo contrario el shell se abre y se cierra inmediatamente.

    
respondido por el user8405 28.01.2016 - 21:21
fuente

Lea otras preguntas en las etiquetas