網絡安全實驗教程(第2版)課件 電子 第4、5章 軟件漏洞、Web應用攻擊_第1頁
網絡安全實驗教程(第2版)課件 電子 第4、5章 軟件漏洞、Web應用攻擊_第2頁
網絡安全實驗教程(第2版)課件 電子 第4、5章 軟件漏洞、Web應用攻擊_第3頁
網絡安全實驗教程(第2版)課件 電子 第4、5章 軟件漏洞、Web應用攻擊_第4頁
網絡安全實驗教程(第2版)課件 電子 第4、5章 軟件漏洞、Web應用攻擊_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第四章二進制軟件漏洞建議學時:6假消息攻擊目錄content整型溢出實驗2棧溢出實驗1UAF漏洞實驗3格式化字符串溢出實驗4棧溢出利用實驗531棧溢出實驗實驗原理棧是一塊連續(xù)的內存空間,用來保存程序和函數執(zhí)行過程中的臨時數據,這些數據包括局部變量、類、傳入/傳出參數、返回地址等。棧的增長方向與內存的增長方向相反。棧溢出指的是向棧中的某個局部變量存放數據時,數據的大小超出了該變量預設的空間大小,導致該變量之后的數據被覆蓋破壞。由于溢出發(fā)生在棧中,所以被稱為棧溢出。實驗目的了解棧的內存布局和工作過程,掌握棧溢出原理。41.1實驗設計OllyDbg:一款動態(tài)調試工具。OllyDbg將IDA與SoftICE的功能結合起來,是Ring3級調試器,非常容易上手掌握。VisualStudio2013:微軟推出的一款編程開發(fā)工具集,包括C++、C#、VisualBasic

等編程語言的編譯環(huán)境實驗方法實驗工具實驗在單機環(huán)境下完成,其操作系統(tǒng)為Windows10,64位。實驗環(huán)境通過調試器跟蹤棧溢出發(fā)生的整個過程,繪制溢出過程中棧的變化圖,驗證和掌握棧溢出原理。51.2實驗步驟安裝VisualStudio2013與OllyDbg工具,新建項目,按要求配置修改項目屬性編譯運行給定代碼,編譯成Release版的可執(zhí)行文件使用OllyDbg加載編譯生成的可執(zhí)行文件同時輸入參數,進入調試狀態(tài)在main函數的起始位置設置斷點,以便觀察參數入棧觀察name變量緩沖區(qū),main函數的返回地址00401241在name變量下方單步步過strcpy函數,觀察棧內變化,由于參數長度過長,導致順著內存生長方向繼續(xù)復制a,最終原EBP的值和main函數返回地址都被a覆蓋,造成了緩沖區(qū)溢出繼續(xù)單步運行到ret指令,返回地址已被覆蓋為0x61616161,繼續(xù)運行調試器報錯0102030405060762整型溢出實驗實驗原理整數類型包括長整型、整型和短整型,其中每一類又分為有符號和無符號兩種類型。如果程序沒有正確的處理整型數的表達范圍、符號或者運算結果時,就會發(fā)生整型溢出問題。整型溢出一般分為寬度溢出、符號溢出、運算溢出。實驗目的掌握整型溢出的原理,了解寬度溢出和符號溢出的發(fā)生過程。72.1實驗設計VisualStudio2013實驗方法實驗工具實驗在單機環(huán)境下完成,其操作系統(tǒng)為Windows10,64位。實驗環(huán)境使用VisualStudio的源碼調試功能,跟蹤發(fā)生寬度溢出和符號溢出的全過程,嘗試不同的程序輸入,并跟蹤變量和內存的變化,以觀察不同整型溢出的原理。82.2實驗步驟--寬度溢出將整型寬度溢出代碼編譯成debug版的t1.exe使用VisualStudio調試t1.exe,參數欄填入“100aaaaaaaaaaaaaaaa”直接運行程序,由于參數i的值大于10,不能通過條件判斷修改參數,參數欄修改為“65537aaaaaaaaaaaaaaaa”,并在第7行設置斷點重新調試,單步運行程序,觀察界面下方的自動窗口此時i=65537。再次單步運行1次,此時s=1,“i”的高位被截斷了,發(fā)生了整型寬度溢出繼續(xù)運行程序,由于s的值小于10,通過了條件判斷,進入到memcpy函數,復制的長度遠大于緩沖區(qū)的值10,導致緩沖區(qū)溢出,程序最終提示出錯01020304050692.2實驗步驟--符號溢出將整型符號溢出代碼編譯成debug版的t2.exe使用VisualStudio調試t2.exe,在參數欄填入“1000aaaaaaaaaaaaaaaa”直接運行程序,由于參數i的值為1000,大于限定size=800,不能通過條件判斷修改參數,參數欄修改為“-1aaaaaaaaaaaaaaaa”,并在第6行設置斷點重新調試,單步運行程序,觀察界面下方的自動窗口此時len=-1,而size=800繼續(xù)運行程序,len通過了條件檢查,進入到memcpy函數,len作為無符號數對待,由此發(fā)生整型符號溢出錯誤。此時len=0xffffffff(即4294967295),遠大于目的緩沖區(qū)kbuf的值800,繼續(xù)運行發(fā)生錯誤010203040506103UAF漏洞實驗實驗原理UAF漏洞是目前較為常見的漏洞形式,它指的是由于程序邏輯錯誤,將已釋放的內存當做未釋放的內存使用而導致的問題,多存在于InternetExplorer等使用了腳本解釋器的瀏覽器軟件中,因為在腳本運行過程中內部邏輯復雜,容易在對象的引用計數等方面產生錯誤,導致使用已釋放的對象。實驗目的掌握UAF漏洞的原理,了解UAF漏洞的發(fā)生過程。113.1實驗設計VisualStudio2013實驗方法實驗工具實驗在單機環(huán)境下完成,其操作系統(tǒng)為Windows10,64位。實驗環(huán)境使用VisualStudio的源碼調試功能,觀察內存塊p1的創(chuàng)建和釋放過程,并觀察內存塊p1釋放后再次使用的情況,以了解UAF漏洞的原理。123.2實驗步驟新建項目,按要求配置修改項目屬性,將UAF實驗程序編譯成debug版UAF.exe使用VS調試UAF.exe,參數欄填入30個’a’并在在第16行設置斷點調試程序,p1分配地址0x011873c0,p1->func的值未初始化。單步執(zhí)行,p1->func的值為myfunc函數的地址0x000c1073單步到第20行,p1的地址已被釋放但仍指向0x011873c0,其數據被0xfeeefeee覆蓋單步執(zhí)行1次,內存塊p2分配地址0x011873c0與p1的地址一樣。單步執(zhí)行1次,30個’a’被復制到p2指向的內存中,同時p1->func的地址也被修改為0x61616161再次單步執(zhí)行,由于p2與p1地址指向同一塊內存,且該內存的內容已被修改,當調用已釋放的func函數時,程序出錯崩潰,指令地址指向0x61616161010203040506133.3問題討論1、在4.5節(jié)UAF漏洞實驗中,內存塊p2的地址正好與內存塊p1的地址重合,導致了UAF漏洞。請實驗證明在什么情況下內存塊p2的地址不會與內存塊p1的地址重合。144格式化字符串溢出實驗實驗原理格式化字符串溢出常見于Linux系統(tǒng)中,它指的是在使用printf等函數的特殊的格式化參數“%n”時,沒有給它指定正確的變量地址,導致該參數在往變量地址寫數據時,由于地址不正確導致寫內存錯誤,或導致攻擊者可以將任意數據寫到指定的內存位置,形成任意代碼執(zhí)行的后果。實驗目的掌握格式化字符串溢出的原理,了解格式化字符串溢出的發(fā)生過程。154.1實驗設計VisualStudio2013OllyDbg實驗方法實驗工具實驗在單機環(huán)境下完成,其操作系統(tǒng)為Windows10,64位。實驗環(huán)境使用調試器跟蹤格式化字符串溢出發(fā)生的整個過程,分析程序出錯的原因。驗證和掌握格式化字符串溢出原理。164.2實驗步驟將給定實驗程序編譯成debug版print.exe直接運行程序,程序出錯,同時可見num變量由初始值0修改為26,即當前打印字符的個數OllyDbg加載print.exe,參數填入“abcd%n”進入調試狀態(tài),單步運行至call指令。觀察右下角的棧窗口,printf函數的輸入參數為“abcd%n”,即之前設置的程序輸入參數單步執(zhí)行,程序出錯。觀察右邊的寄存器窗口,發(fā)現(xiàn)此時eax值為4,而edx值為0087110E,edx指向的內存不可寫,所以產生寫內存錯誤0102030405174.3問題討論1、在格式化字符串溢出實驗中,思考:函數輸入參數與棧的關系、%n的作用、%n如何寫變量,并分析為什么程序出錯時eax值為4,edx的值是一個不可寫的內存地址。2、程序輸入“%n”導致程序發(fā)生了錯誤,請思考如何通過控制程序輸入來將數據寫入到指定的內存地址中。185棧溢出利用實驗實驗原理通過覆蓋函數返回地址來控制程序流程是棧溢出最常見的利用技術。函數返回地址處于棧中較高內存的位置,很容易被超長的局部變量所覆蓋,程序最終執(zhí)行至被覆蓋的地址處指令時發(fā)生錯誤。由于該地址來自局部變量,而局部變量又來自用戶輸入即程序參數,因此只需要修改程序參數就可以控制程序的流程。實驗目的了解通過覆蓋函數返回地址進行棧溢出利用的原理,掌握利用棧溢出漏洞啟動計算器程序的方法,模擬利用漏洞啟動惡意軟件的效果。195.1實驗設計VisualStudio2013OllyDbg實驗方法實驗工具實驗在單機環(huán)境下完成,其操作系統(tǒng)為Windows10,64位。實驗環(huán)境使用OllyDbg跟蹤棧溢出利用的全過程,通過觀察棧溢出中函數返回地址被覆蓋后的后續(xù)流程,分析過程中輸入文件和棧內容的變化情況,了解和掌握通過覆蓋返回地址進行緩沖區(qū)溢出利用的技術。205.2實驗步驟編譯給定程序,在readfile\Release目錄下新建input文件,內容按實驗教程進行修改OllyDbg加載readfile.exe,進入調試狀態(tài),直接運行程序出錯,提示內存地址34333231不可讀OllyDbg中查看可執(zhí)行模塊,定位system函數在內存的位置(6CA408C2)并設置斷點用UE編輯input文件,將31、32、33、34分別改為C2、08、A4、6C,即system地址的倒序Input文件”cdaaaaaa”8個字符修改為”cacl.exe”,并將后面1個字節(jié)修改為16進制的0重新調試,運行到斷點,”cacl.exe”所在的地址為0019FF50。UE打開input文件”90ab”4個字符修改為16進制的50、FF、19、00再次重新調試運行到斷點,觀察棧內容窗口,system函數的輸入參數和命令字符串已準備就緒,繼續(xù)運行,彈出計算器程序,漏洞利用成功01020304050607215.3問題討論1、在4.7節(jié)棧溢出利用實驗中,關閉了VisualStudio的哪些安全防護措施?如果不關閉這些措施,實驗會有什么結果?請通過實驗逐個驗證這些防護措施的作用。附錄工具資源VisualStudio2013:

/zh-hans/vs/older-downloads/

https:///soft/1226121.htm

https:///pcsoft/yingyong/34316.html

OllyDbg:

http://www.ollydbg.de/

https:///soft/43009.htm(漢化版)

http:///downinfo/67902.html(漢化版)第五章Web應用攻擊建議學時:4假消息攻擊目錄contentSQL注入實驗2XSS跨站腳本實驗1文件上傳漏洞實驗3跨站請求偽造實驗4251XSS跨站腳本實驗實驗原理XSS跨站腳本攻擊的目標是瀏覽器端程序,其利用Web應用對用戶輸入內容過濾不足的漏洞,在Web頁面中插入惡意代碼,當用戶瀏覽該頁面時,嵌入其中的惡意代碼就會被執(zhí)行,從而帶來危害,如竊取用戶Cookie信息、盜取賬戶信息、劫持用戶會話、給網頁掛馬、傳播蠕蟲等。XSS跨站腳本攻擊包括三種類型:反射型XSS、存儲型XSS和DOM型XSS。實驗目的理解XSS跨站腳本攻擊的原理,掌握XSS跨站腳本攻擊的基本方法。261.1實驗設計WampserverApache2.4.×PHP5.6.×MySQL5.7.×教學管理模擬系統(tǒng)tms2021實驗方法實驗工具實驗在單機環(huán)境下完成,其操作系統(tǒng)為Windows10,64位。實驗環(huán)境通過瀏覽器訪問存在漏洞的頁面,構造XSS跨站攻擊腳本觸發(fā)漏洞,驗證和掌握XSS跨站腳本攻擊原理。271.2實驗步驟安裝配置wampserver,按照實驗教程選擇Apache、

PHP、

MySQL對應版本安裝配置教學管理模擬系統(tǒng),可以正常訪問學號/工號查詢功能處輸入“<script>alert(1);</script>”,出現(xiàn)彈框,實現(xiàn)XSS跨站腳本攻擊學生用戶在課程評價功能處輸入“<script>alert(1);</script>”,發(fā)現(xiàn)關鍵字過濾防護輸入攻擊代碼“<SCRIPT>alert(1);</SCRIPT>”進行繞過,出現(xiàn)彈框,實現(xiàn)XSS跨站腳本攻擊切換其他學生,進入課程評價,同樣出現(xiàn)彈框,表明這里是存儲型XSS跨站腳本攻擊010203040506282SQL注入實驗實驗原理SQL注入攻擊一般針對服務器端的數據庫,其利用Web應用程序對輸入代碼過濾不足的漏洞,使用戶輸入影響SQL查詢語句的語義,從而帶來危害,如繞過系統(tǒng)的身份驗證、獲取數據庫中數據及執(zhí)行命令等。一般Web應用會根據用戶請求,通過執(zhí)行SQL語句從數據庫中提取相應數據生成動態(tài)網頁并返回給用戶。在執(zhí)行SQL查詢功能時,如果輸入內容引起SQL語句語義的變化,那么SQL語句的執(zhí)行效果會發(fā)生改變從而產生攻擊。實驗目的理解SQL注入攻擊的基本原理,掌握SQL注入攻擊的基本方法。292.1實驗設計Wampserver教學管理模擬系統(tǒng)

tms2021SQLMAP:一款基于Python開發(fā)的開源SQL注入攻擊工具,可從其官網下載最新版本。在使用SQLMAP前,需要安裝Python運行環(huán)境實驗方法實驗工具實驗在單機環(huán)境下完成,其操作系統(tǒng)為Windows10,64位。實驗環(huán)境通過瀏覽器訪問存在漏洞的頁面,構造SQL注入攻擊腳本觸發(fā)漏洞,驗證和掌握SQL注入攻擊原理。使用SQLMAP重復攻擊過程,了解和掌握SQLMAP的原理與使用。302.2實驗步驟安裝SQLMAP學號/工號查詢功能處輸入“a’or

‘a’=‘a’

--”,獲取teachers和students兩個表格中的全部信息,發(fā)生了SQL注入攻擊利用SQLMAP工具實現(xiàn)學號/工號查詢功能的SQL注入攻擊過程的自動化用戶登錄功能的工號/學號處輸入“1or1=1--”,不用輸入密碼,直接登錄系統(tǒng),發(fā)生了SQL注入攻擊,可以完成老師/學生賬號的各種操作01020304312.3問題討論1、針對學生成績管理系統(tǒng),根據SQL注入的攻擊原理,構造更多的會產生SQL注入攻擊的輸入。2、如何避免SQL注入攻擊?根據SQL注入攻擊原理和防護方法,修改相應的PHP程序,使其能夠防范SQL注入攻擊。323文件上傳漏洞實驗實驗原理文件上傳漏洞攻擊主要針對服務器端程序,如果Web應用對上傳的文件檢查不周,導致可執(zhí)行腳本文件上傳,從而獲得執(zhí)行服務器端命令的能力,這樣就形成了文件的上傳漏洞。文件上傳漏洞攻擊的危害非常大,攻擊者甚至可以利用該漏洞控制網站。文件上傳漏洞攻擊具備三個條件:一是Web應用沒有對上傳的文件進行嚴格檢查,使攻擊者可以上傳腳本文件,如PHP程序文件等;二是上傳文件能夠被Web服務器解釋執(zhí)行,如上傳的PHP文件能夠被解釋執(zhí)行等;三是攻擊者能夠通過Web訪問到上傳的文件。實驗目的理解文件上傳漏洞的基本原理,掌握文件上傳漏洞攻擊的基本方法。333.1實驗設計Wampserver教學管理模擬系統(tǒng)

tms2021中國菜刀:Webshell管理工具實驗方法實驗工具實驗在單機環(huán)境下完成,其操作系統(tǒng)為Windows10,64位。關閉WindowsDefender等系統(tǒng)的防護功能實驗環(huán)境利用教學管理模擬系統(tǒng)中的文件上傳漏洞上傳一句話木馬程序,使用Webshell管理工具實現(xiàn)靶機站點管理,驗證和掌握文件上傳漏洞原理。343.2實驗步驟教學管理模擬系統(tǒng)的資料上傳功能處上傳測試文件test.html打開Web服務器的tms2021目錄,可以看到已經上傳的test.html文件上傳的文件位于Web站點upload目錄,輸入地址http:///upload/test.html訪問編輯一句話木馬程序test.php并上傳運行中國菜刀,添加控制網站所需要的網址和參數。雙擊添加的條目,啟動控制界面可以對文件進行處理,包括上傳文件、下載文件、編輯、刪除等功能010203040506353.3問題討論1、根據文件上傳漏洞攻擊過程,分析可能在哪些環(huán)節(jié)采取什么樣的防御方法?364跨站請求偽造實驗實驗原理跨站請求偽造攻擊利用會話機制的漏洞,引誘用戶點擊惡意網頁,觸發(fā)惡意網頁中包含的執(zhí)行代碼,從而引發(fā)攻擊。其攻擊結果就是能夠冒充用戶執(zhí)行一些特定操作,如遞交銀行轉賬數據等。用戶在瀏覽網站并進行一些重要操作時,網站一般通過一個特殊的Cookie標識用戶,稱為會話ID(這個ID一般需要用戶登錄后才能夠產生)。當用戶進行操作時,會發(fā)送包含會話ID的HTTP請求,使網站可以識別用戶,攻擊者在誘騙用戶點擊惡意網頁時,一般已在惡意網頁中包含了用戶進行某些操作的代碼,從而能夠冒充用戶完成操作,這樣攻擊就發(fā)生了。實驗目的理解CSRF攻擊的基本原理,掌握CSRF攻擊的基本方法。374.1實驗設計Wampserver教學管理模擬系統(tǒng)tms2021Burpsuite:用于Web應用滲透測試的集成平臺。Burpsuite包含了許多工具,并為這些工具設計了標準接口,可加快Web應用滲透測試的過程實驗方法實驗工具實驗在單機環(huán)境下完成,其操作系統(tǒng)為Windows10,64位。實驗

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論