日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

如何定位溢出点位置

發布時間:2023/12/1 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 如何定位溢出点位置 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

程序:

#include <stdio.h> void exploit() {system("/bin/sh"); } void func() {char str[20];read(0,str,50);printf("the str is:%s\n",str); } int main() {func();return 0; }

關掉保護機制:

gcc -no-pie -fno-stack-protector -z execstack -m32 -o 3.exe 3.c

檢查一下:

checksec 3.exe
0x01 kali自帶
msf-pattern_create -l 100

創建長度為100的字符串

運行我們的程序:

start

一直下一步,直到需要填入參數:

這個時候程序報錯了,表示有溢出了

我們來看看eip的值,0Ab1,表示溢出使返回的地址是這個

使用命令,查看在哪里溢出了

msf-pattern_offset -q 0Ab1


32位,我們可以修改從32位開始的數據,讓程序跳轉到我們指定的地址執行

0x02 peda
pattern create 100

生成長度為100字符串

使用命令r,讓程序繼續執行,復制我們生成的字符串,注意單引號不要復制

溢出了,查看現在的EIP,A)AA
使用命令查看溢出位置

pattern offset A)AA


32位

0x03 pwndbg插件
cyclic 100

生成長度為100的字符串,按照上面的順序,得到溢出eip的值為iaaa
查找溢出位置:

cyclic -l iaaa

32位

總結

以上是生活随笔為你收集整理的如何定位溢出点位置的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。