¿Cómo explotar una vulnerabilidad de Uso Después de Libre?

3

Quiero aprender más acerca de las vulnerabilidades de uso después de liberarse y encontré este tutorial. Sin embargo, no lo entiendo muy bien y espero una explicación de cómo funciona.

    
pregunta user104787 23.03.2016 - 22:05
fuente

1 respuesta

4

Hay lenguajes de programación como C o C ++ donde el programa tiene que asignar y desasignar manualmente la memoria para almacenar sus datos. Después de que la memoria fue desasignada, esa memoria puede reutilizarse para almacenar otros datos. Sin embargo, incluso después de que un programa C haya desasignado oficialmente un bloque de memoria, aún puede leerlo y escribir en él. Si esto sucede, es prácticamente siempre un error involuntario. En muchos casos, el compilador y el sistema operativo pueden detectar cuándo sucede esto y hacer que el programa se bloquee, pero no es posible detectar todas las eventualidades.

Eso significa que el programa cree que está leyendo o escribiendo un dato (que en realidad ya no debería ser relevante), pero lo hace con otro dato completamente relacionado que se almacenó allí mientras tanto. Esto puede, por ejemplo, hacer que los datos se sobrescriban con los datos proporcionados por el atacante o que los datos confidenciales se lean y encuentren su camino en la salida del programa.

En cuanto a cómo explotar esto: no hay una respuesta de aplicación universal porque las situaciones en las que se produce el uso de after-free son muy dependientes de la aplicación.

    
respondido por el Philipp 23.03.2016 - 23:50
fuente

Lea otras preguntas en las etiquetas