freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

緩沖區(qū)溢出漏洞發(fā)掘模型(編輯修改稿)

2025-06-18 04:23 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 sh edi 00401020 89 4C 24 0C mov dword ptr [esp+0Ch],ecx 00401024 88 44 24 12 mov byte ptr [esp+12h],al 00401033 66 89 54 24 10 mov word ptr [esp+10h],dx 由上可以看出在程序保留的變量中,有很大一部分都沒(méi)有被指令所訪問(wèn),只是通過(guò) rep stos dword ptr [edi]將其設(shè)為 0,而通過(guò)前面的分析已經(jīng)知道對(duì)于普通變量來(lái)說(shuō),如果沒(méi)有被指令直接訪問(wèn)就不會(huì)為其在堆棧中保留地址空間,所以,我們就可以認(rèn)為,這些地址空間都在字符數(shù)組中。 Copyright 169。 funnywei 2021 ? 根據(jù)局部變量的訪問(wèn)方式來(lái)確定目標(biāo)緩沖區(qū)的長(zhǎng)度 main() { char dest[36] = {“this is a test”}; int a = 1; printf(“ %s, %d”, dest, amp。a); } 對(duì)于普通變量來(lái)說(shuō),如果只是作為目的操作數(shù)而從來(lái)沒(méi)有作為源操 作數(shù)使用,那么它將肯定被編譯器優(yōu)化掉。但是對(duì)于數(shù)組來(lái)說(shuō),即 使其某個(gè)成員從頭到尾都作為目的操作數(shù)而存在,它也不會(huì)被編譯 器優(yōu)化掉。通過(guò)這個(gè)特性,我們就可以確定緩沖區(qū)的邊界。 Copyright 169。 funnywei 2021 在這個(gè)程序的匯編代碼中沒(méi)有出現(xiàn) rep stos指令,字符數(shù)組的初始化都是通過(guò) mov指令來(lái)完成的,所以,我們不能通過(guò)查找沒(méi)有直接使用的地址來(lái)判斷緩沖區(qū)的長(zhǎng)度。在這個(gè)程序中,只有兩條指令用堆棧中的變量作為源操作數(shù), 0040103B 8D 54 24 00 lea edx,[esp] ;取變量 a地址 .... 00401043 8D 44 24 04 lea eax,[esp+4] ;取字符串首址對(duì)于堆棧中其他的地址空間來(lái)說(shuō),它們都沒(méi)有被用作源操作數(shù),所以根據(jù)我們對(duì)編譯器優(yōu)化局部變量原則的分析,我們可以認(rèn)為這些地址所指向的存儲(chǔ)單元都位于字符緩沖區(qū)中。 Copyright 169。 funnywei 2021 ? 通過(guò)其他方法判斷緩沖區(qū)長(zhǎng)度 有些程序來(lái)說(shuō),在分配了緩沖區(qū)后首先調(diào)用函數(shù)對(duì)其進(jìn)行初始化 。只要找到相應(yīng)的 API函數(shù)調(diào)用就很容易判斷出目標(biāo)緩沖區(qū)的大小和起始位置。 char dest[100]; ... ZeroMemory( dest, 100); ... memset()函數(shù)在 Release版本的程序中會(huì)被編譯成一條匯編語(yǔ)句 rep stos 。 Copyright 169。 funnywei 2021 ? 基于污點(diǎn)傳播的雙向數(shù)據(jù)流分析 – 思想 :來(lái)源于 Perl中稱(chēng)為“ tainting”的機(jī)制。監(jiān)控所謂的“不可信數(shù)據(jù)”,通常是由用戶(hù)輸入的,將這些輸入標(biāo)記為“ tainted”。污點(diǎn)數(shù)據(jù)通過(guò)程序語(yǔ)句進(jìn)行傳播。 – 污點(diǎn)來(lái)源: 環(huán)境變量,參數(shù),文件,網(wǎng)絡(luò)輸入 – 污點(diǎn)傳播在源碼檢測(cè)中的運(yùn)用 – 在二進(jìn)制代碼中的應(yīng)用 ―― 雙向數(shù)據(jù)流分析方法 Copyright 169。 funnywei 2021 ? 污點(diǎn)傳播在源碼檢測(cè)中的運(yùn)用 – 在數(shù)據(jù)類(lèi)型前,加一個(gè) tainted類(lèi)型限定詞表示該數(shù)據(jù)來(lái)源于一個(gè)不可信數(shù)據(jù)源。例如: – int main(int argc, tainted char *argv[])。 例: wuftpd 。 |site_exec |lreply |vreply Copyright 169。 funnywei 2021 簡(jiǎn)化看作: while(fgets(buf, sizeof buf, f)){ lreply(200, buf)。} void lreply(int n, char *fmt, …){ … vsnprintf(buf, size
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1