版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1.緩沖區(qū)溢出攻擊原理,堆棧,(已初始化數(shù)據(jù))數(shù)據(jù)段(未初始化數(shù)據(jù)),代碼段,一個(gè)進(jìn)程的內(nèi)存映像,文本段(代碼段) 文本區(qū)域是由程序確定的, 包括代碼(指令)和只讀數(shù)據(jù)。 該區(qū)域相當(dāng)于可執(zhí)行文件的文本段。 這個(gè)區(qū)域通常被標(biāo)記為只讀, 任何對(duì)其寫(xiě)入的操作都會(huì)導(dǎo)致段錯(cuò)誤(segmentation violation,數(shù)據(jù)段 數(shù)據(jù)區(qū)域包含了已初始化和未初始化的數(shù)據(jù)。 靜態(tài)變量?jī)?chǔ)存在這個(gè)區(qū)域中,堆棧
2、 用于函數(shù)調(diào)用,用于返回,,高,低,1) 緩沖區(qū)溢出攻擊(實(shí)例),main(){char passwd[8] = {"2e4rfe"};char yourpasswd[8] = {""};again:puts("please input passwd?");gets(yourpasswd);if (strcmp(yourpasswd, passwd)
3、= =0)goto ok;puts("passwd error");goto again;exit(-2);ok:puts("correct!");// do work you wantreturn 0;},程序的設(shè)計(jì)功能:輸入正確的口令后做某項(xiàng)工作(否則重復(fù)要求輸入口令)演示:輸入精心計(jì)劃好的字串打亂設(shè)計(jì)期望的執(zhí)行邏輯,從而繞過(guò)某些口令,2)棧溢出攻擊(函
4、數(shù)調(diào)用),1) 首先把參數(shù)壓入棧; 2) 然后保存命令寄存器(IP)中的內(nèi)容作為返回地址(RET); 3) 第三個(gè)放入堆棧的是基址寄存器(FP); 4) 然后把當(dāng)前的棧指針(SP)拷貝到FP,作為新的基地址; 5) 最后為本地變量留出一定空間,函數(shù)調(diào)用與堆棧,,緩沖區(qū)溢出攻擊,,,,,,,緩,沖,區(qū),,,寄存器,,,EIP,,,argc,,,argv,,ESP,→,,,,,EIP’,,,,←buf,→,,ESP,→,,低
5、,,高,,,,①進(jìn)入函數(shù)后的堆棧,,②拷貝超長(zhǎng)字符,數(shù)組到緩沖區(qū)中,,③釋放局部變量,ESP指向返回地址,,④從堆棧中取出的,EIP,執(zhí)行shell code,,,,,,,,,,,EIP’,,,,,,,,,,ESP,→,,,,,EIP’,,,,,,,,,,EIP’,→,例子,int AFunc(int i,int j){int m = 3;int n = 4; m = i;n =
6、j; BFunc(m,n); return 8;},int BFunc(int i,int j){ int m = 1; int n = 2; m = i; n = j; return m;},int main(){AFunc(5,6); return 0;},,,6,AFunc(5,6);push 6
7、push 5call _AFuncadd esp+8,,函數(shù)調(diào)用中棧的工作過(guò)程,5,EIP,_AFuncpush ebpmov ebp,espsub esp,48h//壓入環(huán)境變量//為局部變量分配空間,EBP,48h,EDIESIEBX,3(m=3),4(n=4),,,6,AFunc(5,6);……call _AFuncadd esp+8,,函數(shù)調(diào)用中棧的工作過(guò)程,5,EIP,_AFunc{……return
8、 0;}pop edipop esipop ebxadd esp,48h//棧校驗(yàn)pop ebpret,EBP,48h,EDIESIEBX,3(m=3),4(n=4),,,當(dāng)緩沖區(qū)溢出發(fā)生時(shí)……,int AFunc(int i,int j){int m = 3;int n = 4; char szBuf[8] = {0}; strcpy(szBuf, “This is a overflow bu
9、ffer!”); m = i; n = j; BFunc(m,n); return 8;},,#include#includevoid input(){ int access(0); //access為1時(shí)表示登錄正確得到權(quán)
10、限,初始為0 char password[4]; //用于存儲(chǔ)用戶輸入的登錄密碼 cout>password; if(strcmp(password,"1988")==0)//比較兩個(gè)串是否相等,如果相等返回值為0 { access=1;
11、 //兩串相等,將權(quán)限變量賦值1 } if(access!=0) //access非零,則登錄成功 cout<<"登錄成功"<<endl; else
12、 //access為零,登錄失敗 cout<<"error";}void main(){ input(); //函數(shù)調(diào)用},example.c void function(char *s
13、tr) { char buffer[16]; strcpy(buffer,str); } void main() { char large_string[256]; int i; for(i=0;i<255;i++) large_str
14、ing[i] = ‘A’; function(large_string); },*str,Ret(Function后的指令地址),基地址FP,buffer,棧底(內(nèi)存高端),,程序運(yùn)行結(jié)果:buffer、FP、RET、甚至Str本身等的值都變成了A,,攻擊原理: 改變RET的值; 用特殊的可執(zhí)行指令來(lái)改變 這樣就可以達(dá)到攻擊目的。 RET的位置是可以被計(jì)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 緩沖區(qū)溢出攻擊詳細(xì)講解
- LibsafeEX:動(dòng)態(tài)防御緩沖區(qū)溢出攻擊研究.pdf
- 緩沖區(qū)溢出攻擊語(yǔ)言研究與實(shí)現(xiàn).pdf
- 緩沖區(qū)溢出攻擊防御技術(shù)的研究.pdf
- 緩沖區(qū)溢出攻擊分析及防范策略研究.pdf
- 緩沖區(qū)溢出攻擊的檢測(cè)與防范系統(tǒng).pdf
- 緩沖區(qū)溢出漏洞攻擊和檢測(cè)技術(shù)研究.pdf
- Windows緩沖區(qū)溢出原理與利用研究.pdf
- 檢測(cè)緩沖區(qū)溢出攻擊工具的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于隨機(jī)森林算法的緩沖區(qū)溢出攻擊檢測(cè)研究.pdf
- 基于緩沖區(qū)溢出的攻擊技術(shù)及防御策略研究.pdf
- 可信執(zhí)行環(huán)境下緩沖區(qū)溢出攻擊防范的研究.pdf
- 基于StackGuard緩沖區(qū)溢出攻擊防范的改進(jìn)與實(shí)現(xiàn).pdf
- 基于攻擊代碼檢測(cè)的緩沖區(qū)溢出防御技術(shù)研究.pdf
- 基于數(shù)據(jù)不可信的緩沖區(qū)溢出攻擊檢測(cè)技術(shù)研究.pdf
- 基于多階段網(wǎng)絡(luò)攻擊模型的緩沖區(qū)溢出攻擊技術(shù)研究與實(shí)踐.pdf
- 數(shù)組緩沖區(qū)溢出分析和檢測(cè).pdf
- 針對(duì)緩沖區(qū)溢出漏洞的攻擊方法及高級(jí)逃逸技術(shù)研究.pdf
- 基于GCC的緩沖區(qū)溢出檢測(cè)研究.pdf
- 緩沖區(qū)溢出漏洞利用與防御研究.pdf
評(píng)論
0/150
提交評(píng)論