unlink
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Код
Графічне пояснення
Перегляньте це чудове графічне пояснення процесу unlink:
Перевірки безпеки
Перевірте, чи вказаний розмір блоку такий же, як prev_size, вказаний у наступному блоці
Також перевірте, що
P->fd->bk == P
іP->bk->fw == P
Якщо блок не малий, перевірте, що
P->fd_nextsize->bk_nextsize == P
іP->bk_nextsize->fd_nextsize == P
Витоки
Непов'язаний блок не очищає виділені адреси, тому, маючи доступ до rad, можна витікати деякі цікаві адреси:
Витоки Libc:
Якщо P знаходиться на початку двозв'язного списку,
bk
буде вказувати наmalloc_state
у libcЯкщо P знаходиться в кінці двозв'язного списку,
fd
буде вказувати наmalloc_state
у libcКоли двозв'язний список містить лише один вільний блок, P знаходиться в двозв'язному списку, і обидва
fd
іbk
можуть витікати адресу всерединіmalloc_state
.
Витоки Heap:
Якщо P знаходиться на початку двозв'язного списку,
fd
буде вказувати на доступний блок у купіЯкщо P знаходиться в кінці двозв'язного списку,
bk
буде вказувати на доступний блок у купіЯкщо P знаходиться в двозв'язному списку, обидва
fd
іbk
будуть вказувати на доступний блок у купі
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Last updated