[問題] 這個ret2text的exploit問題
開發平台(Platform): (Ex: Win10, Linux, ...)
linux
編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出)
gcc -zexecstack -fno-stack-protector
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
問題(Question):
其實不知道能不能發到這裡,但是資安版太少人,這又跟C有一點點關係就發到這裡了,不妥麻煩版主刪掉QQ
我自己在看大神教學影片學習的時候看到一個exploit,對大神的註解有點疑問
這是影片中的有洞的程式source code:
http://imgur.com/a/uogvP
環境下只有開ASLR,其他DEP和stack protector沒開
這是大神的exploit(python寫的,我只擷取部分):
http://imgur.com/a/gZcKS
補上完整版的:
http://imgur.com/a/Uj6nZ
後面加上r.interactive()就是完整版的exploit了
我的理解是:裡面的'A'*112是padding,p32(0x08048310)是gets@plt的位址,後面的兩個位址(0x0804b000-0x100)應該是要用gets寫shellcode到該地址下然後再利用gets的ret address跳轉過去
到0x08048310(gets@plt位址)的時候會push ebp→mov ebp,esp所以stack會變成
High
-------
'AAAA'
--------
p32(0x08048310) ......這邊是用overwrite掉main的ret address
--------
p32(0x0804b000 - 0x100) ......1
--------
p32(0x0804b000-0x100) ......2
--------
old ebp
--------
Low
然後1那個address會被當成gets的參數也就是寫入shellcode的地方(因為先push參數)
2那個地址就會被當成ret address,所以結束gets的時候ret會pop eip然後跳轉
可是這樣就跟影片中的註解顛倒,請問是我哪裡搞錯了嗎?
喔喔我懂了
餵入的資料(Input):
預期的正確結果(Expected Output):
錯誤結果(Wrong Output):
程式碼(Code):(請善用置底文網頁, 記得排版)
補充說明(Supplement):
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.117.182.39
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1478152856.A.783.html
※ 編輯: b0920075 (140.117.182.39), 11/03/2016 14:02:22
→
11/03 14:46, , 1F
11/03 14:46, 1F
→
11/03 14:49, , 2F
11/03 14:49, 2F
→
11/03 14:49, , 3F
11/03 14:49, 3F
→
11/03 14:58, , 4F
11/03 14:58, 4F
→
11/03 14:59, , 5F
11/03 14:59, 5F
→
11/03 14:59, , 6F
11/03 14:59, 6F
→
11/03 15:00, , 7F
11/03 15:00, 7F
→
11/03 15:01, , 8F
11/03 15:01, 8F
→
11/03 15:02, , 9F
11/03 15:02, 9F
→
11/03 15:02, , 10F
11/03 15:02, 10F
→
11/03 15:03, , 11F
11/03 15:03, 11F
※ 編輯: b0920075 (140.117.168.190), 11/03/2016 15:35:38
→
11/03 15:40, , 12F
11/03 15:40, 12F
→
11/03 15:42, , 13F
11/03 15:42, 13F
→
11/03 15:42, , 14F
11/03 15:42, 14F
→
11/03 15:42, , 15F
11/03 15:42, 15F
→
11/03 15:43, , 16F
11/03 15:43, 16F
→
11/03 16:04, , 17F
11/03 16:04, 17F
→
11/03 16:04, , 18F
11/03 16:04, 18F
→
11/03 16:04, , 19F
11/03 16:04, 19F
→
11/03 16:06, , 20F
11/03 16:06, 20F
→
11/03 16:06, , 21F
11/03 16:06, 21F
→
11/03 16:06, , 22F
11/03 16:06, 22F
→
11/03 16:13, , 23F
11/03 16:13, 23F
→
11/03 16:15, , 24F
11/03 16:15, 24F
→
11/03 16:15, , 25F
11/03 16:15, 25F
→
11/03 16:16, , 26F
11/03 16:16, 26F
→
11/03 16:16, , 27F
11/03 16:16, 27F
→
11/03 16:17, , 28F
11/03 16:17, 28F
→
11/03 16:17, , 29F
11/03 16:17, 29F
→
11/03 16:18, , 30F
11/03 16:18, 30F
→
11/03 16:18, , 31F
11/03 16:18, 31F
→
11/03 16:19, , 32F
11/03 16:19, 32F
→
11/03 16:20, , 33F
11/03 16:20, 33F
→
11/03 16:21, , 34F
11/03 16:21, 34F
→
11/03 16:21, , 35F
11/03 16:21, 35F
→
11/03 16:25, , 36F
11/03 16:25, 36F
→
11/03 16:28, , 37F
11/03 16:28, 37F
→
11/03 16:31, , 38F
11/03 16:31, 38F
→
11/03 16:32, , 39F
11/03 16:32, 39F
※ 編輯: b0920075 (140.117.247.163), 11/04/2016 12:01:31
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章