7.17 DVWA的搭建及操作

1.搭建DVWA

下載phpStudy(http://phpstudy.php.cn/)
phpStudy是集成了Apache和MySql的集成環境,下載好安裝phpStudy,
運行時若顯示缺少VC運行庫
32位的VC9:http://www.microsoft.com/zh-CN/download/details.aspx?id=5582
64位的VC9:http://www.microsoft.com/zh-CN/download/details.aspx?id=15336
安裝好後運行127.0.0.1看是否可以出現界面(在瀏覽器上輸入127.0.0.1,成功會顯示「hello world」)
下載DVWA(http://www.dvwa.co.uk/)下載後解壓,放到phpStudy的WWW目錄之下。

然後配置一下相關文件首先最好先配置一下phpStudy的數據庫密碼
修改後將DVWA/confing下的config.inc.php.dist修改爲
config.inc.php,找到其中的把原來的db_password改爲剛設置的。

2.文件上傳繞過

(1)使用Burpsuite:

1)先將木馬的擴展名改成一個正常的圖片擴展名,如jpg

2)上傳時使用Burpsuite攔截數據包,將木馬的擴展名改爲原來的php,即可繞過客戶端的驗證。

(2)特殊文件名繞過

比如發送的http 包裏把文件名改成test.asp. 或test.asp_(下劃線爲空格),這種命名方式在windows 系統裏是不被允許的,所以需要在burp 之類裏進行修改,然後繞過驗證後,會被windows 系統自動去掉後面的點和空格,(Unix/Linux 系統沒有這個特性。)將一句話木馬的文件名【evil.php】,改成【evil.php.abc】(奇怪的不被解析的後綴名都行)。首先,服務器驗證文件擴展名的時候,驗證的是【.abc】,只要該擴展名符合服務器端黑白名單規則,即可上傳。另外,當在瀏覽器端訪問該文件時,Apache如果解析不了【.abc】擴展名,會向前尋找可解析的擴展名,即【.php】

(3)白名單繞過

在上傳的時候,當文件系統讀到【0x00】時,會認爲文件已經結束。利用00截斷就是利用程序員在寫程序時對文件的上傳路徑過濾不嚴格,產生0x00上傳截斷漏洞。通過抓包截斷將【evil.php.jpg】後面的一個【.】換成【0x00】。在上傳的時候,當文件系統讀到【0x00】時,會認爲文件已經結束,從而將【evil.php.jpg】的內容寫入到【evil.php】中,從而達到攻擊的目的。

0x00的意思爲16進制00,所以將對應的進制改成00(至於怎麼找到對應代碼,看右邊對應代碼,找到第幾行,從左到右,每個字母對應一個代碼),改完直接go,在/Upload/後面加一個空格,點開hex,將其對應的20改成00即可,可繞過後綴名的過濾,從而得到webshell。