Overwriting a freed chunk

Ayuda a HackTricks

Varias de las técnicas de explotación de montón propuestas necesitan poder sobrescribir punteros dentro de fragmentos liberados. El objetivo de esta página es resumir las posibles vulnerabilidades que podrían otorgar este acceso:

Uso Simple Después de Liberar

Si es posible para el atacante escribir información en un fragmento liberado, podrían abusar de esto para sobrescribir los punteros necesarios.

Doble Liberación

Si el atacante puede liberar dos veces el mismo fragmento (liberar otros fragmentos entre ellos potencialmente) y lograr que esté 2 veces en el mismo bin, sería posible para el usuario asignar el fragmento más tarde, escribir los punteros necesarios y luego asignarlo nuevamente desencadenando las acciones de asignación del fragmento (por ejemplo, ataque de fast bin, ataque de tcache...)

Desbordamiento de Montón

Podría ser posible desbordar un fragmento asignado teniendo al lado un fragmento liberado y modificar algunos encabezados/punteros de este.

Desbordamiento por uno

En este caso sería posible modificar el tamaño del fragmento siguiente en memoria. Un atacante podría abusar de esto para hacer que un fragmento asignado tenga un tamaño mayor, luego liberarlo, haciendo que el fragmento sea agregado a un bin de un tamaño diferente (mayor), luego asignar el tamaño falso, y el ataque tendrá acceso a un fragmento con un tamaño que es mayor de lo que realmente es, concediendo así una situación de fragmentos superpuestos, que es explotable de la misma manera que un desbordamiento de montón (ver sección anterior).

Ayuda a HackTricks

Last updated