介紹:File Upload,即文件上傳漏洞,通常是由於對上傳文件的類型、內容沒有進行嚴格的過濾、檢查,使得攻擊者可以通過上傳木馬(如前面提到的一句話木馬)獲取服務器的 webshell 權限,因此文件上傳漏洞帶來的危害常常是毀滅性的,Apache、Tomcat、Nginx 等都曝出過文件上傳漏洞。
一、dvwa之low級別文件上傳漏洞講解
我們首先寫一個php的一句話木馬
然后在dvwa靶場選擇我們的php一句話木馬文件進行上傳即可
接下來打開我們的蟻劍工具,右鍵選擇添加數據,輸入我們的連接密碼和連接類型進行連接即可
在low級別當中完全沒有難度可言,重要的是熟悉upload上傳漏洞的利用,對蟻劍工具的熟練使用。
二、dvwa之Medium級別文件上傳漏洞演示
在中級別當中我們發現對文件類型進行了校驗,我們是怎么發現的呢,當然了是通過代碼審計(這時候就需要你懂一點PHP代碼啦,可以去查看前面的LAMP基礎知識里面的PHP內容),我們點擊查看源代碼即可明白。
解決方法有很多,我們這里通過抓包來分析一下,
我們看到這里有個關於文件類型的描述,我們將其改成 image/jpeg 然后放行數據包即可上傳成功。接下來怎么做就不用說啦,參考上一步。
三、dvwa之High級別文件上傳漏洞演示
通過對源代碼審計我們可以知道加了一些過濾規則。
1.文件名后綴必須是jpeg png jpg其中一個
2.必須是一張有效圖片通過函數getimagesize()去判斷。
函數getimagesize()通過文件頭去檢驗,而這個文件頭有MIME類型,簡單來說就是去檢驗了MIME類型。


第二種:
制作圖片馬
這樣就很簡單就可以啦。然后上傳即可。
接下來的問題就是如何把jpg文件當作php來執行

我們接下來如果想用蟻劍去連接的話,需要一個步驟,那就是蟻劍當中需要填寫該網頁的cookie,不然的話會提示返回數據為空
然后我們就能連接成功啦,還有一點我們的網址要寫 http://49.232.106.183/dvwa-labs/vulnerabilities/fi/?page=file:///var/www/html/dvwa-labs/hackable/uploads/webshell.jpg
2. 通過利用.htaccess文件 (我們這一關無法利用),通過它可以指定文件的解析方式