攻防世界 level2

2021-10-04 03:24:26 字數 541 閱讀 6142

這道題一點也不難,不過遇到了乙個之前沒有注意到的知識

直接溢位buf就可以覆蓋返回位址

但是之前做的rop是64位,把引數存放在rdi然後呼叫system就行

32位的system引數放在棧中,,我以前簡單的以為要執行的語句就放在棧頂

於是我把plt表中的位址放進去了,緊接著binsh位址,然後送出去後不對

看網上的wp說,他們用的是這個位址

這個位址是call過去的,者就解釋的通了

call之後eip入棧,然後存的才是binsh

所以binsh在esp-4這個位置

這麼一試就對了

記住記住

攻防世界 level2

system函式的位址 sysaddr 0x08048320 程式中 bin sh字串所在的位址 binshaddr 0x0804a024 0x88是程式中緩衝區的大小,4個大小是需要覆蓋的ebp的位址,之後是函式的返回位址,被system的位址覆蓋了,進入到system函式之後,需要構造syste...

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

可以看到題上已經有提示了 rop 我們看一下程式的保護狀態和它的運 況 開了nx,問題不大。執行可以發現有乙個輸入點 放ida裡看看 在字串視窗可以發現有 bin sh 並且左邊的函式視窗可以看到在.plt段有system函式 這就很舒服了呀,再結合一下題目給的提示,構造rop鏈就行,效果如下 具體...

pwn 練習3 攻防世界 level2

nc連線,file一下32位的 拖進ida 看到熟悉的read想到棧溢位,接著搜尋字串找有用的資訊 看到了如圖花圈的關鍵字 於是我們想到利用棧溢位覆蓋之前的位址,使之能跳轉到system bin sh 通過控制vulnerable function 返回到該偽棧幀執行system bin sh 來g...