unlink
Last updated
Last updated
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE) GCPハッキングを学び、実践する: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
であることを確認します
unlinkされたチャンクは割り当てられたアドレスをクリーンアップしないため、アクセスして読むことで、いくつかの興味深いアドレスをリークすることが可能です:
Libcリーク:
Pが二重リンクリストの先頭にある場合、bk
はlibcのmalloc_state
を指します
Pが二重リンクリストの末尾にある場合、fd
はlibcのmalloc_state
を指します
二重リンクリストに1つのフリーなチャンクしか含まれていない場合、Pは二重リンクリストにあり、fd
とbk
の両方がmalloc_state
内のアドレスをリークできます。
ヒープリーク:
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)