mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
21 lines
1.6 KiB
Markdown
21 lines
1.6 KiB
Markdown
# Uso Después de Liberar
|
|
|
|
{{#include ../../../banners/hacktricks-training.md}}
|
|
|
|
## Información Básica
|
|
|
|
Como su nombre indica, esta vulnerabilidad ocurre cuando un programa **almacena algún espacio** en el heap para un objeto, **escribe** algo de información allí, **libera** aparentemente porque ya no se necesita y luego **accede a él nuevamente**.
|
|
|
|
El problema aquí es que no es ilegal (no **habrá errores**) cuando se **accede a memoria liberada**. Así que, si el programa (o el atacante) logra **asignar la memoria liberada y almacenar datos arbitrarios**, cuando se accede a la memoria liberada desde el puntero inicial, **esos datos habrían sido sobrescritos**, causando una **vulnerabilidad que dependerá de la sensibilidad de los datos** que se almacenaron originalmente (si era un puntero de una función que iba a ser llamada, un atacante podría saber controlarlo).
|
|
|
|
### Ataque de Primer Ajuste
|
|
|
|
Un ataque de primer ajuste se dirige a la forma en que algunos asignadores de memoria, como en glibc, gestionan la memoria liberada. Cuando liberas un bloque de memoria, se agrega a una lista, y las nuevas solicitudes de memoria se extraen de esa lista desde el final. Los atacantes pueden usar este comportamiento para manipular **qué bloques de memoria se reutilizan, potencialmente ganando control sobre ellos**. Esto puede llevar a problemas de "uso después de liberar", donde un atacante podría **cambiar el contenido de la memoria que se vuelve a asignar**, creando un riesgo de seguridad.\
|
|
Consulta más información en:
|
|
|
|
{{#ref}}
|
|
first-fit.md
|
|
{{#endref}}
|
|
|
|
{{#include ../../../banners/hacktricks-training.md}}
|