Використання після звільнення

Reading time: 2 minutes

tip

Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Підтримайте HackTricks

Основна інформація

Як випливає з назви, ця вразливість виникає, коли програма зберігає деякий простір в купі для об'єкта, записує туди деяку інформацію, звільняє її, очевидно, тому що вона більше не потрібна, а потім знову отримує до неї доступ.

Проблема в тому, що це не є незаконним (не буде помилок), коли доступається звільнена пам'ять. Отже, якщо програма (або зловмисник) змогла виділити звільнену пам'ять і зберегти довільні дані, коли звільнена пам'ять доступна з початкового вказівника, ці дані могли бути перезаписані, що викликало вразливість, яка залежатиме від чутливості даних, які були збережені спочатку (якщо це був вказівник на функцію, яка повинна була бути викликана, зловмисник міг би контролювати її).

Атака першого підходу

Атака першого підходу націлена на те, як деякі аллокатори пам'яті, такі як у glibc, управляють звільненою пам'яттю. Коли ви звільняєте блок пам'яті, він додається до списку, а нові запити на пам'ять беруться з цього списку з кінця. Зловмисники можуть використовувати цю поведінку, щоб маніпулювати які блоки пам'яті повторно використовуються, потенційно отримуючи контроль над ними. Це може призвести до проблем "використання після звільнення", коли зловмисник може змінити вміст пам'яті, яка повторно виділяється, створюючи ризик безпеки.
Дивіться більше інформації в:

First Fit

tip

Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Підтримайте HackTricks