什么是文件上傳漏洞
文件上傳漏洞是指由於程序員在對用戶上傳部分控制不足或者處理缺陷,導致用戶可以越權向服務器上傳可執行的動態腳本文件。這里的上傳可以是木馬,病毒惡意腳本,或者webshell等。文件上傳本
身並無問題,問題是服務器怎么處理解析文件。
什么是webshell
webshell就是以asp,php,jsp等網頁文件形式存在的一種命令執行環境。也可以稱為一種網頁后門。在入侵一個網站后,會將這些asp或者php后門文件與網站服務器web目錄下正常的網頁混在一起,
然后用瀏覽器訪問這些后門,得到一個命令執行環境,以達到控制服務器的目的(可以上傳下載文件,操作數據庫,執行任意命令)
掌握文件上傳的漏洞的危害
文件上傳的查找方式以及如何判斷
黑盒查找---需要自己判斷 需要區分后台權限和網站權限 速成后台拿webshell
白盒審計找文件上傳漏洞
文件上傳漏洞有哪些需要注意的方式
文件上傳在實際應用中的方式
方式一:
先直接傳一個PHP,實戰先傳馬。
實戰先傳一個正常的圖片,看看有無返回存儲地址。
如果能直接上傳並解析,已離成功不遠。
方式二:
先傳一個shell,然后進行修改。
connect-Type:image/jpeg,看看是否可以進行繞過,如果不行,在上傳內容添加GIF89a
當然上傳了還得看是否能夠被解析為php,所有的上傳都要考慮是否能夠被解析。
方式三:
○ 上傳一個abc.abcd,目的只是為了查看是否為白名單還是黑名單繞過。
黑名單限制一般為此文件類型不允許上傳,考慮雙寫,大小寫,空格,php2,php3,php4,php5,pht
phtml,等方式
○ 我們繼續上傳一個/htaccess文件
.htaccess文件能夠設置服務器的解析文件的格式,匹配到dudu就已php的格式來解析,繼而上傳馬
○ 如果說.htaccess不能上傳,接下來上傳一個.user.ini,繼而上傳一個馬
方式四:
如果白名單限制上傳
○ 考慮00截斷上傳
○ 文件包含漏洞+圖片馬
○ 文件包含漏洞+二次渲染+圖片馬
方式五:
上傳的東西是否被服務器很快的刪除或者移除,或者說上傳成功,但是無法訪問,就得考慮條件競爭。
以上均不行,考慮邏輯層面的思路。

常規文件上傳地址的獲取說明 inurl:upload.php
不同格式的文件類型后門測試
配合解析漏洞下的文件類型后門測試 nginx解析漏洞,訪問.jpg格式可以解析php文件
本地文件上傳漏洞靶場環境搭建測試
某CMS及CVE編號文件上傳漏洞測試
