hacktricks/src/binary-exploitation/libc-heap/overwriting-a-freed-chunk.md

2.6 KiB
Raw Blame History

Перезапис звільненого блоку

{{#include ../../banners/hacktricks-training.md}}

Декілька з запропонованих технік експлуатації купи потребують можливості перезаписувати вказівники всередині звільнених блоків. Мета цієї сторінки - підсумувати потенційні вразливості, які можуть надати цей доступ:

Просте Використання Після Звільнення

Якщо зловмисник може записати інформацію в звільнений блок, він може зловживати цим, щоб перезаписати потрібні вказівники.

Подвійне Звільнення

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

Переповнення Купи

Можливо, що переповнити виділений блок, маючи поруч звільнений блок і змінити деякі заголовки/вказівники цього блоку.

Переповнення на Один

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

{{#include ../../banners/hacktricks-training.md}}