版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上課程實(shí)驗(yàn)報(bào)告 課 程 名 稱: 計(jì)算機(jī)系統(tǒng) 實(shí)驗(yàn)項(xiàng)目名稱: buflab 專 業(yè) 班 級(jí): 計(jì)科1708 姓 名: 學(xué) 號(hào): 指 導(dǎo) 教 師: 完 成 時(shí) 間: 2019 年 5 月 29 日信息科學(xué)與工程學(xué)院專心-專注-專業(yè)實(shí)驗(yàn)題目:buffer lab實(shí)驗(yàn)?zāi)康模捍巳蝿?wù)將幫助您詳細(xì)了解IA-32調(diào)用約定和堆棧組織。它涉及對(duì)實(shí)驗(yàn)室目錄中的可執(zhí)行文件bufbomb應(yīng)用一系列緩沖區(qū)溢出攻擊。注意:在本實(shí)驗(yàn)室中,您將獲得五種方法的經(jīng)驗(yàn),其中一種方法通常用于利用操作系統(tǒng)和網(wǎng)絡(luò)服務(wù)器中的安全弱點(diǎn)。我們的目的是幫助您了解程序的運(yùn)行時(shí)操作,并了解這種形式的安全弱點(diǎn)的性質(zhì),以便在編寫(xiě)
2、系統(tǒng)代碼時(shí)避免這種情況。實(shí)驗(yàn)環(huán)境:個(gè)人電腦、Ubuntu 32位實(shí)驗(yàn)內(nèi)容及操作步驟:Level 0: Level 0是要讓test函數(shù)調(diào)用的getbuf函數(shù)返回時(shí)不返回到test函數(shù)而是返回到smoke函數(shù)。先反匯編getbuf函數(shù)此時(shí)棧結(jié)構(gòu)如下也就是說(shuō)我們的輸入要把smoke的地址覆蓋掉返回地址smoke的反匯編也就是要輸入44個(gè)任意字節(jié),然后輸入smoke的首地址即可,注意小端法輸入,結(jié)果發(fā)現(xiàn)錯(cuò)誤了,后來(lái)發(fā)現(xiàn)是因?yàn)?a是換行的ASCii碼,所以會(huì)導(dǎo)致gets函數(shù)發(fā)生錯(cuò)誤的識(shí)別,因此把0a改成0b跳轉(zhuǎn)至smoke函數(shù)第二行,然后成功Level 1: 在level 1中有一個(gè)fizz函數(shù),我們
3、需要讓test函數(shù)返回到fizz,并且我們需要把自己的cookie作為傳入?yún)?shù)。這題的返回跳轉(zhuǎn)函數(shù)部分與上一題一致。Fizz函數(shù)如下getbuf函數(shù)反匯編Fizz函數(shù)反匯編可以看到,fizz函數(shù)的傳入值就是ebp+8的位置,也就是說(shuō)需要將ebp+8的位置改為cookie在getbuf函數(shù)返回時(shí),執(zhí)行l(wèi)eave指令(mov %ebp,%esp 和 pop %ebp)和ret(pop %eip)指令后,esp的位置如圖在fizz的反匯編中可以看到,需要將新的ebp定位,就需要將返回地址覆蓋為fizz函數(shù)的第一行或者第二行,如果是第一行,那么先執(zhí)行一個(gè)push %ebp(%esp-4),此時(shí)esp指
4、向的是返回地址處,然后第二行mov %esp,%ebp就會(huì)把%ebp指向返回地址處,所以cookie的位置是返回地址的位置+8處而如果是要跳轉(zhuǎn)到第二行,那么cookie的位置為返回地址的位置+12運(yùn)行結(jié)果正確!Level 2: 在level 2中,需要使程序跳轉(zhuǎn)到自己寫(xiě)的一段反匯編代碼,將全局變量global_val設(shè)置為cookie的值,隨后再跳轉(zhuǎn)到bang函數(shù)進(jìn)行驗(yàn)證。思路:把對(duì)應(yīng)的機(jī)器碼放入buf數(shù)組中,使程序執(zhí)行bang函數(shù)。bang函數(shù)的匯編看到有一個(gè)mov的指令和一個(gè)cmp的指令,可以肯定一個(gè)是global_value一個(gè)是cookie查看一下內(nèi)存地址,所以我們需要先把cookie
5、存進(jìn)去,然后利用把bang函數(shù)的首地址push進(jìn)棧,然后利用ret指令返回到bang函數(shù),所以用來(lái)黑程序的反匯編代碼如下,然后利用objdump翻譯成機(jī)器碼這段機(jī)器碼可以放在buf的首地址設(shè)置斷點(diǎn)查看eax的值(buf首地址)然后和之前一樣,把返回地址的位置設(shè)置為buf的首地址跳轉(zhuǎn)到編寫(xiě)的黑代碼結(jié)果通過(guò)!Level 3: 在level 3中,我們需要改變getbuf()函數(shù)的返回值,使返回值為cookie值;恢復(fù)test函數(shù)中的%ebp寄存器內(nèi)容,并且使test函數(shù)正常繼續(xù)執(zhí)行接下來(lái)的代碼。test函數(shù)的反匯編設(shè)置斷點(diǎn)查看test的ebp所以跟之前一樣,把寫(xiě)一段代碼,修改ebp,修改cooki
6、e,然后利用push指令返回到call指令下一條指令 結(jié)果通過(guò)!Level 4: 在level 4中涉及到了兩個(gè)數(shù):getbufn、testn。從參考文檔中可知,這個(gè)任務(wù)要執(zhí)行5次getbufn和testn任務(wù)是每次要讓getbufn返回cookie值,而不是1。由于getbufn舊的ebp會(huì)被覆蓋,為了保證連續(xù)執(zhí)行,每次執(zhí)行完要將ebp恢復(fù)為testn函數(shù)的ebp。然后返回到testn的call的下一條指令。所以惡意代碼如下接下里就需要讓返回地址跳轉(zhuǎn)到惡意代碼,但是5次getbufn要執(zhí)行5次,這個(gè)時(shí)候每次執(zhí)行的ebp都會(huì)不一樣,buf的首地址也會(huì)不一樣,所以先設(shè)斷點(diǎn)查看一下每次執(zhí)行的buf
7、首地址由于不能夠確定首地址到底是什么,所以把全部地址都打印一遍,既然我們跳轉(zhuǎn)到的地址無(wú)法確定,那么就可以用nop(機(jī)器碼90)來(lái)填充之前的buf,但是要保證跳轉(zhuǎn)到的位置一定是buf之內(nèi),所以要選擇最大的首地址。結(jié)果通過(guò)!實(shí)驗(yàn)結(jié)果及分析:運(yùn)行結(jié)果全部通過(guò)!實(shí)驗(yàn)總結(jié):本次實(shí)驗(yàn)主要是對(duì)于程序運(yùn)行時(shí)棧的結(jié)構(gòu)的知識(shí)的復(fù)習(xí)和運(yùn)用,一開(kāi)始我對(duì)于棧溢出攻擊的理解只是覆蓋返回地址,但是往等級(jí)后做實(shí)驗(yàn)就發(fā)現(xiàn)了新的方法,并且在實(shí)驗(yàn)過(guò)程中也對(duì)函數(shù)的返回方式也有了更深的理解,我覺(jué)得在實(shí)驗(yàn)過(guò)程中對(duì)于??臻g的知識(shí)進(jìn)行了更好的復(fù)習(xí),這樣的話我覺(jué)得要想對(duì)知識(shí)理解更好,還需要結(jié)合運(yùn)用的,才會(huì)對(duì)知識(shí)認(rèn)識(shí)得更加透徹。實(shí)驗(yàn)成績(jī)實(shí)驗(yàn)報(bào)告撰寫(xiě)說(shuō)明1實(shí)驗(yàn)題目和目的請(qǐng)從實(shí)驗(yàn)指導(dǎo)資料中獲取。2實(shí)驗(yàn)步驟和內(nèi)容包括:(1)本次實(shí)驗(yàn)的要求;(2)源程序清
溫馨提示
- 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ù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年增資協(xié)議合同條款
- 2025年度個(gè)人承包工程勞務(wù)合同模板4篇
- 2025年合作環(huán)境科學(xué)書(shū)籍出版協(xié)議
- 攪拌站項(xiàng)目合作開(kāi)發(fā)合同(二零二五年)3篇
- 2025年度環(huán)保認(rèn)證木地板采購(gòu)與施工合同4篇
- 2025年度鄉(xiāng)村旅游資源承包經(jīng)營(yíng)權(quán)轉(zhuǎn)讓合同4篇
- 2025年度股權(quán)質(zhì)押擔(dān)保與文化產(chǎn)業(yè)融合發(fā)展合同
- 2025年度美容院美容師服務(wù)提成勞務(wù)合同模板
- 2025年度XX地區(qū)集體勞動(dòng)合同執(zhí)行與評(píng)估體系
- 2025年度礦山資源轉(zhuǎn)讓及環(huán)境治理綜合協(xié)議書(shū)
- 2024-2030年中國(guó)海泡石產(chǎn)業(yè)運(yùn)行形勢(shì)及投資規(guī)模研究報(bào)告
- 動(dòng)物醫(yī)學(xué)類專業(yè)生涯發(fā)展展示
- 2024年同等學(xué)力申碩英語(yǔ)考試真題
- 消除“艾梅乙”醫(yī)療歧視-從我做起
- 非遺文化走進(jìn)數(shù)字展廳+大數(shù)據(jù)與互聯(lián)網(wǎng)系創(chuàng)業(yè)計(jì)劃書(shū)
- 2024山西省文化旅游投資控股集團(tuán)有限公司招聘筆試參考題庫(kù)附帶答案詳解
- 科普知識(shí)進(jìn)社區(qū)活動(dòng)總結(jié)與反思
- 加油站廉潔培訓(xùn)課件
- 現(xiàn)金日記賬模板(帶公式)
- 消化內(nèi)科??票O(jiān)測(cè)指標(biāo)匯總分析
- 混凝土結(jié)構(gòu)工程施工質(zhì)量驗(yàn)收規(guī)范
評(píng)論
0/150
提交評(píng)論