如何定位溢位點位置

2021-10-04 08:13:22 字數 1529 閱讀 1294

程式:

#include

void

exploit()

void

func()

intmain()

關掉保護機制:

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,表示溢位使返回的位址是這個

使用命令,檢視在**溢位了

32位,我們可以修改從32位開始的資料,讓程式跳轉到我們指定的位址執行

0x02 peda

pattern create 100
生成長度為100字串

使用命令r,讓程式繼續執行,複製我們生成的字串,注意單引號不要複製

溢位了,檢視現在的eip,a)aa

使用命令檢視溢位位置

32位0x03 pwndbg外掛程式

cyclic 100
生成長度為100的字串,按照上面的順序,得到溢位eip的值為iaaa

查詢溢位位置:

cyclic -l iaaa
32位

下多行文字溢位點點點

一 單行文字出現點點點.div overflow hidden text overflow ellipsis white space nowrap 二 多行文字出現點點點.box text overflow o ellipsis lastline display webkit box webkit ...

gdb如何定位死鎖的位置

include include include using namespace std 互斥鎖 mutex mtx 執行緒共享資源 int i 0 執行緒入口函式 void func intmain 找到對應程式的pid,此處為10854,然後執行gdb p 10854進入該程序的gdb除錯介面。執...

使用者位置定位

之前看到很多應用會自動檢測到使用者所在的城市,後來想了想原理,其實就是檢測到經緯度,然後根據經緯度判斷所在位置或城市。不過多介紹了,直接上馬吧。log.i tag 緯度 location.getlatitude log.i tag 經度 location.getlongitude log.i tag...