¿Por qué se asocia 0x41414141 con las vulnerabilidades de seguridad?

20

Este artículo y esta búsqueda sugiere que la palabra de 32 bits 0x41414141 está asociada a las vulnerabilidades de seguridad.

¿Por qué 0x41414141 está asociado a las vulnerabilidades de seguridad?

    
pregunta Randomblue 15.08.2012 - 00:56
fuente

2 respuestas

38

No es nada fundamental. Es solo una convención histórica, como usar foo como el nombre de una variable cuando no tienes idea de cómo nombrarla.

Más detalladamente: la forma más sencilla de probar un desbordamiento de búfer es escribir una cadena larga de A (AAAAAAAA ...) en un campo de texto y ver qué sucede. Si el programa falla, podría ser vulnerable. Si el programa falla y un depurador muestra 0x41414141 en el contador del programa, ooh boy, golpea la basura de pago: el programa es casi seguramente vulnerable. (Recuerde, el código ASCII para 'A' es 0x41 en hexadecimal, por lo que 0x41414141 es lo que vería si observara la representación a nivel de byte de una cadena de A en un editor hexadecimal).

¿Por qué A's? No hay ninguna razón en absoluto; son solo la primera letra del alfabeto.

Entonces, esta es una prueba rápida y sucia que los pentesters usan a veces. Pero, por supuesto, no hay nada especial en 0x41414141. Los fanáticos de Douglas Adams podrían escribir una larga cadena de B y luego buscar 0x42424242. Eso sería igual de efectivo, y aún más divertido. Tengo que recordar usar ese en mi próxima demostración de piratería ...

    
respondido por el D.W. 15.08.2012 - 03:32
fuente
4

Se asocia más con pruebas simples de conceptos. 0x41414141 suele ser el resultado cuando se utiliza una cadena de A (generalmente larga) para demostrar un desbordamiento (o algo similar).

    
respondido por el broadway 15.08.2012 - 01:15
fuente

Lea otras preguntas en las etiquetas