hitcon_2018_children_tcache(off by null)
阿新 • • 發佈:2021-11-20
拿到題目例行檢查
(我就不放了)
將程式放入ida中
很明顯的堆的題目,然後我們進入add函式
可以看到將s複製到dest裡面,說明存在off by null 漏洞
這道題目我也上網查詢了師傅們的wp(我沒想通咋打)
漏洞利用思路: 首先我們先建立三個chunk
chunk3是為了防止chunk2的向下合併,,當我們0和1(表示index的順序)free掉的時候 我們可以通過申請1去修改2的pre_size 使得2向上面合併,然後我們再將1釋放掉,這樣012就合併了 然後我們繼續申請一個0大小的chunk,這個chunk會從合併的chunk分出來
但是我們可以通過show(0)去洩露出來libc的基址,這樣我們就可以獲得one_gadget了
最後我們申請一個0x68的chunk,然後將0和2都釋放掉(1就是被free掉的chunk)在申請一個chunk
可以看到這個chunk的fd是我們輸入的值,
我們就可以通過這個chunk在malloc_hook的位置寫上one_gadget ,因為add的時候當使用malloc的時候就會觸發malloc_hook,所以我們需要手動的去獲得shell
完整exp:
成功的獲得flag
結束,加油!!