L003001022-HTTP攻擊與防范-目錄穿越漏洞攻擊_第1頁
L003001022-HTTP攻擊與防范-目錄穿越漏洞攻擊_第2頁
L003001022-HTTP攻擊與防范-目錄穿越漏洞攻擊_第3頁
L003001022-HTTP攻擊與防范-目錄穿越漏洞攻擊_第4頁
L003001022-HTTP攻擊與防范-目錄穿越漏洞攻擊_第5頁
已閱讀5頁,還剩10頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

課程編寫類別內(nèi)容實驗課題名稱目錄穿越漏洞攻擊實驗目的與要求1.了解目錄穿越漏洞攻擊的方式2.掌握目錄穿越漏洞攻擊防范方法實驗環(huán)境VPC1(虛擬PC)Windowsserver2003VPC1連接要求PC網(wǎng)絡接口,本地連接與實驗網(wǎng)絡直連軟件描述1、學生機要求安裝java環(huán)境

2、vpc安裝windwos系統(tǒng)實驗環(huán)境描述學生機與實驗室網(wǎng)絡直連;VPC1與實驗室網(wǎng)絡直連;學生機與VPC1物理鏈路連通;預備知識目錄穿越(DirectoryTraversal)攻擊是黑客能夠在Web應用程序所在的根目錄以外的文件夾上,任意地存取被限制的文件夾、執(zhí)行命令或查找數(shù)據(jù)。目錄穿越攻擊,也有人稱為PathTraversal攻擊。服務器的基本功能是提供文件給客戶端的瀏覽器使用,例如靜態(tài)的HTML、圖片文件,動態(tài)的ASP、PHP和JSP文件。當瀏覽器向服務器請求動態(tài)網(wǎng)頁時,服務器會先執(zhí)行這個動態(tài)網(wǎng)頁,然后將執(zhí)行的結(jié)果發(fā)送給瀏覽器。為了避免使用者存取到服務器上未經(jīng)許可的文件,服務器提供兩個安全機制:(1)根目錄;(2)文件存取權(quán)限。服務器限制使用者只能存取Web應用程序所在的根目錄,以及根目錄下的子目錄中的文件。要進一步限制使用者只能存取根目錄中的特定文件時,可以使用文件存取權(quán)限限制。網(wǎng)站的管理員決定使用者可以查找、執(zhí)行或存取哪些文件。這些安全措施是為了避免黑客執(zhí)行可執(zhí)行文件,如Windows系統(tǒng)上的cmd.exe文件,以及避免黑客存取重要的文件,如UNIX系統(tǒng)上的passwd密碼文件。但是黑客可以使用目錄穿越攻擊,來查找、執(zhí)行或存取Web應用程序所在的根目錄以外的文件夾。如果目錄穿越攻擊成功,黑客就可以執(zhí)行破壞性的命令來攻擊網(wǎng)站。實驗內(nèi)容1.了解目錄穿越漏洞攻擊的方式2.掌握目錄穿越漏洞攻擊防范方法實驗步驟學生單擊實驗拓撲按鈕,進入實驗場景,進入目標主機,(第一次啟動目標主機,還需要安裝java空間),如圖所示:2.打開虛擬機,輸入用戶名和密碼,用戶為Adminsitrator密碼為1234563.打開瀏覽器,輸入http://localhost:8080/example_code/如圖:4.找到“(11)目錄穿越漏洞攻擊(DirectoryTraversal)”項,并點擊打開。5.如何攻擊目錄穿越攻擊可能發(fā)生在Web應用程序上,也可能發(fā)生在Web服務器上。在Web應用程序上發(fā)生的目錄穿越攻擊,是因為Web應用程序要求使用者輸入文件名。例如將使用者的賬號作為保存文件的名稱,當使用者輸入賬號后,程序會立即查找并打開指定用戶名為文件名的文件。請參考ex11-1.php:源碼地址在:C:\xammp\htdocs\example_code\source\code11下ex11-1.php文件會讀取一個文件名稱,這個文件名稱由URL參數(shù)file所提供。readfile函數(shù)會輸出文件的內(nèi)容,@操作符用來屏蔽錯誤信息。將這個文件名稱與目錄字符串“home/users/”進行結(jié)合后,就是在Web應用程序所在的根目錄下的文件路徑。Web應用程序所在的根目錄是:C:\xampp\htdocs\example_code\source\code11假設使用者輸入的文件名稱是data.txt,那么data.txt文件的完整路徑是:C:\xampp\htdocs\example_code\source\code11\home\users\data.txtdata.txt文件的內(nèi)容如下:(詳細請查看:C:\xampp\htdocs\example_code\source\code11\home\users\下的data.txt文件)目錄穿越攻擊DirectorvTraversalAttack現(xiàn)在我們點擊“攻擊1”你將會看會看到下圖顯示結(jié)果:6.開始攻擊剛才是正常的輸入文件名稱,現(xiàn)在要開始執(zhí)行目錄穿越攻擊。點擊“攻擊2”結(jié)果如圖在表示文件系統(tǒng)的字符串中,一個點符號“.”表示相同的目錄,兩個點符號“..”表示上一層的目錄。圖發(fā)動目錄穿越攻擊因此上述的地址:http://localhost:8080/example_code/source/code11/ex11-1.php?file=../../....//../apache/logs/access.log每一個“../”記號會往上移動一層目錄,這個地址有5個“../”記號,因此總共往上移動了4層目錄。本來data.txt文件的完整路徑是:C:\xampp\htdocs\example_code\source\code11\home\users\data.txt現(xiàn)在往上移動了4層目錄后,就是:C:\xampp的目錄。將C:\xampp與4個“../”記號后面的地址Apache/logs/access.log進行結(jié)合后,就是:C:\xampp\apache\logs這表示要打開Apache服務器內(nèi)的日志文件access.log,結(jié)果如圖11-2所示的文件真的打開了。服務器日志文件access.log應該是只能讓網(wǎng)站管理員查看,其他的使用者根本不應該能夠查找這個服務器記錄文件。但是黑客利用目錄穿越攻擊,就能夠隨便地打開、查看,甚至執(zhí)行網(wǎng)站內(nèi)的絕密文件。下面點擊“攻擊2”,你會看到如下結(jié)果:這個地址告訴服務器要顯示W(wǎng)indows目錄內(nèi)的boot.ini文件的內(nèi)容。7.防范的方法要防范目錄穿越與遠程文件調(diào)用攻擊,可以使用下列方法。(1)不要使用使用者提供的文件名。(2)檢查使用者輸入的文件名中是否有“..”的目錄級層的字符。(3)php.ini文件中設置openbasedir來指定可以打開文件的目錄。(4)php.ini文件中設置allow_url_fopen為Off,來讓Web應用程序不能打開遠程文件。(5)realpath與basename函數(shù)來處理使用者輸入的文件名。8.使用者輸入的文件名目錄穿越攻擊是利用“../”的目錄級層的記號來穿越于任意的文件夾中。因此如果能夠檢查使用者輸入的文件名中是否有“..”的目錄級層的字符,就可以事先決定要不要調(diào)用使用者輸入的文件。在ex11-5.php文件中加入檢查“..”字符的程序代碼:(源代碼在:C:\xampp\htdocs\example_code\source\code11\ex11-5.php)strstr函數(shù)會返回第一個要查找的子字符串的位置,一直到被查找的字符串結(jié)尾。用法如下:stringstrstr(stringhaystack,stringneedle)●haystack是被查找的字符串;●needle是要查找的子字符串。如果找不到要查找的子字符串,strstr函數(shù)會返回FALSE。點擊“防護2”,你將看到如下結(jié)果:檢查使用者輸入的文件名注意,“../”字符的URL編碼是%2E%2E%2F,因此上述的地址可以寫成:http://localhost:8080/example_code/source/code11/ex11-5.php?file=%2E%2E%2F%2E%2E%2F%2E%2E%2F%2E%2E%2FApache2.2/logs/access.log在Windows操作系統(tǒng)上,目錄級層的字符可以使用“../”或“..\”,因此上上述的地址可以寫成:http://localhost:8080/example_code/source/code11/ex11-l.php?file=..\..\..\..\Apache2.2/logs/access.log注意,“..\”字符的URL編碼是%2E%2E%5C,因此上述的地址可以寫成:http://localhost/example/ex11-5.php?file=%2E%2E%5C%2E%2E%5C%2E%2E%5C%2E%2E%5CApache2.2/logs/access.logex11-5.php文件對這4個地址都有效。9.設置open_basedir打開“我的電腦”找到"C:\xampp\php"下的php.ini文件,在php.ini文件中將;open_basedir=屬性指定可以打開文件的目錄。例如:open_basedir="/pathl:/path2:/path3"這將指定/pathl、/path2與/path3是可以打開文件的目錄。例如,指定只有C:/xammp/htdocs/example_code/source/code11目錄中的文件可以打開:open_basedir="example_code/source/code11"如圖設置可以打開文件的目錄修改配置文件后,重啟桌面上XAMPP,如下圖所示先將apache服務stop,再start。再次點擊“攻擊1”結(jié)果如圖11-11所示,出現(xiàn)錯誤的信息。10.設置allow_url_fopen為Off在php.ini文件中設置allow_url_fopen為Off,Web應用程序就不能打開遠程文件。既然不能打開遠程文件,遠程文件引入攻擊自然就沒有作用。不過,如果Web應用程序需要調(diào)用遠程文件,allow_url_fopen就必須設置為On。11.使用realpath與basename函數(shù)來處理文件名如果使用者輸入的文件名中包含有“./”或“../”等可疑的字符,有可能就是黑客在使用目錄穿越攻擊。您可以使用realpath和b

溫馨提示

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

最新文檔

評論

0/150

提交評論