简单易懂的 pwnable.kr 第三题[bof]Writeupt
生活随笔
收集整理的這篇文章主要介紹了
简单易懂的 pwnable.kr 第三题[bof]Writeupt
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
簡單易懂的 pwnable.kr 第三題[bof]Writeupt
題目地址:http://pwnable.kr/play.php
點開題目發現:
他給了提示覆蓋,并且給了兩個網址。分別打開,第一個給了你一個下載文件bof。第二個是文件的源文件。
給了超級明顯的暗示,smash me!。下面我們要做的就是如何去覆蓋key的值。這就需要知道參數key和變量overflowme的地址,(當然你也可以一個一個試,不過這不太科學)。
一分鐘安裝IDA
打開IDA看一下bof文件(不知道是32位還是64位,可以都試一下),
按F5反編譯得到偽代碼。
雙擊func函數進入函數
對照源文件我們可以看到,s就是overfolwme, a1就是key。
將鼠標移到a1 看到 ebp+8h
將鼠標移到s 看到 ebp-2ch
由于棧是從高地址向低地址生長的,但是數據寫入的時候是從低地址向高地址寫入的。8h+2ch = 8 + 44 = 52。所有只需要一個長度為52的字符串我們就可以開始覆蓋key的值。
下面開始編寫payload
from pwn import * #pwntools p = remote("pwnable.kr",9000) #連接端口 p.sendline("aaaa"*13+p32(0xcafebabe)) #發送并且覆蓋key p.interactive() #交互獲取權限總結
以上是生活随笔為你收集整理的简单易懂的 pwnable.kr 第三题[bof]Writeupt的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一分钟安装IDA pro7.0
- 下一篇: Pwn环境配置(三)——ubuntu环境