当时没时间写,后面用自己本地2.29libc的环境复现了下,libc2.29打free_hook orw的模板
0x01 题目描述
libc2.29 具有doble free的漏洞,具有add,show,edit,delete的功能,但只能申请0x60大小以下的堆块,并且需要orw
0x02 思路
- 泄漏堆地址后,修改一个chunk的size大于0x440,free掉后从而泄漏libc地址
- 在堆上布置好shellcode,frame内容后把 free_hook更改为2.29特殊的gadget,然后free掉一个堆快来设置rdi和rdx
0x03 小trick
搜索2.29 从rdi转到rdx的gadget
1 | ropper -f ./libc-2.29.so --search 'mov rdx'|grep "rdi + 8" |
0x04 exp
1 | from pwn import * |
https://oneda1sy.gitee.io/2021/05/24/heap-Plain-SeccompAttack2.29/
https://wood1314.github.io/year/04/06/cklza4rcn000dalu506tx8974/#more