Las vulnerabilidades de las cadenas de formato pueden ayudar en la explotación de sistemas protegidos por ASLR, pero no por NX. La razón por la que se debe a que algunas vulnerabilidades de cadena de formato permiten al atacante leer el marco de pila de la función, que contiene la vulnerabilidad de cadena de formato. Esto permite al atacante averiguar las direcciones de las variables locales a esa función leyendo el pila de cuadros . ASLR asigna al azar la dirección base de la página de memoria al inicio de la aplicación. Entonces, en un sistema de 32 bits, la dirección se ve como 0xYYYYYZZZZ. En este caso, las Y serán aleatorias, pero las Z son un desplazamiento que es más predecible. (Idealmente) Si el atacante puede leer las direcciones base aleatorias de la misma función que está explotando con un desbordamiento de búfer, entonces el atacante puede estar 100% seguro de la dirección de donde estará su código de shell. Si no está en la misma función, el atacante tiene menos confianza en la dirección de su código de shell, pero aún puede ayudar en la explotación. Después de determinar la dirección de donde estará el código shell, el siguiente paso es corromper el marco de la pila con un desbordamiento de búfer y apuntar el EIP a esta ubicación de memoria conocida. Lo que para ser honesto es realmente descabellado y no hay muchas hazañas que utilicen esta técnica. Esta técnica se trata con gran detalle en "Explotación del software para romper el código" y en "Hackear: El arte de la explotación".
Hay otras formas de leer las direcciones de memoria. En el pwn2own para IE en 2010, un investigador utilizó un desbordamiento de pila para sobrescribir el terminador nulo y leer la memoria adyacente , luego obtuvo la ejecución del código con un puntero colgante. Las vulnerabilidades de puntero que cuelgan son realmente buenas para los sistemas protegidos por ASLR y se están volviendo más populares por esta razón.
Si observa la mayoría de las vulnerabilidades de Metasploit y las formas de explotar . Verá que la Programación Orientada al Retorno (cadenas ROP) es el arma preferida para explotar los desbordamientos de búfer en los sistemas modernos.