hacktricks/binary-exploitation/libc-heap/use-after-free/README.md

3.8 KiB

Uso dopo la liberazione

{% hint style="success" %} Impara e pratica l'Hacking su AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica l'Hacking su GCP: HackTricks Training GCP Red Team Expert (GRTE)

Sostieni HackTricks
{% endhint %}

Informazioni di base

Come suggerisce il nome, questa vulnerabilità si verifica quando un programma riserva dello spazio nell'heap per un oggetto, scrive alcune informazioni lì, lo libera apparentemente perché non è più necessario e poi vi accede di nuovo.

Il problema qui è che non è illegale (non ci saranno errori) quando una memoria liberata viene acceduta. Quindi, se il programma (o l'attaccante) riesce a allocare la memoria liberata e memorizzare dati arbitrari, quando la memoria liberata viene acceduta dal puntatore iniziale quei dati saranno sovrascritti causando una vulnerabilità che dipenderà dalla sensibilità dei dati che erano stati memorizzati originariamente (se si trattava di un puntatore di una funzione che sarebbe stata chiamata, un attaccante potrebbe controllarlo).

Attacco First Fit

Un attacco First Fit mira al modo in cui alcuni allocatori di memoria, come in glibc, gestiscono la memoria liberata. Quando liberi un blocco di memoria, viene aggiunto a una lista e le nuove richieste di memoria attingono da quella lista dalla fine. Gli attaccanti possono utilizzare questo comportamento per manipolare quali blocchi di memoria vengono riutilizzati, potenzialmente ottenendo il controllo su di essi. Ciò può portare a problemi di "uso dopo la liberazione", dove un attaccante potrebbe modificare i contenuti della memoria che viene riallocata, creando un rischio per la sicurezza.
Controlla ulteriori informazioni in:

{% content-ref url="first-fit.md" %} first-fit.md {% endcontent-ref %}

{% hint style="success" %} Impara e pratica l'Hacking su AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica l'Hacking su GCP: HackTricks Training GCP Red Team Expert (GRTE)

Sostieni HackTricks
{% endhint %}