参考:c和媳妇一起学Pwn 之 Secret Garden | Clang裁缝店
Pwnable.tw-secret garden | 堇姬 Naup's Blog
二进制利用 [pwnable.tw] - 秘密花园 - 污染的比特
堆指针free后没有置空引起。
泄露libc,通过申请0x500大小的unsortedbin,然后释放,这个bin的fd,和bk都会填入libc的一个arena 地址。

重新申请回来,然后show一下,可以看到libc的addr。
然后是任意地址写。
delete chunk(2),delete chunk(3),delete chunk(2), 先释放的先malloc出来,
malloc 一次得到 2,修改该chunk的fd字段,为想要的地址。
malloc 得到3,
malloc 得到2, 此时任意地址的chunk待 malloc。
malloc 得到 任意地址的chunk。
接着是malloc_hook 写one_gadget, 需要配合realloc_hook,用代码来找合适的,得到$rsp+0x30,realloc+20地址 可以成功。pwn题堆利用的一些姿势 -- malloc_hook_pwn malloc hook-CSDN博客


1132

被折叠的 条评论
为什么被折叠?



