0x00 前言
什麼是解析漏洞?為什麼要學習解析漏洞?顧名思義,解析漏洞是伺服器解析時産生的漏洞,是拿webshell時的關鍵點,如果網站存在解析漏洞,可顯著增大hacker們的攻擊面,而且,了解了解析漏洞,也會對檔案上傳,檔案包含這類基礎漏洞有更深的了解,比如有人做題不明白隻是加了個\x00就讓圖檔被解析了php,明明是php檔案為什麼我改成php3,php4,php5,phtml一樣可以被正常解析,了解解析漏洞後,這些都将很好了解了。
0x01 解析漏洞基礎
1.web容器
- web容器是一種服務程式,伺服器一個端口就有一個提供服務的程式,該程式來處理使用者請求,比如 apache,tomcat,nginx等等。
2.中間件
- 提供系統軟體和應用軟體之間連接配接的軟體,友善軟體各部件通信,位于作業系統與更高一級應用程式之間。
3.容器
- 給應用程式元件(ASP,JSP,PHP)提供的環境,使其中的應用元件與容器環境變量接口互動,而不去關心系統底層是如何工作的。
4.檔案解析漏洞
- web容器将檔案解析成腳本檔案并執行而産生的漏洞。
解析漏洞總結(apache,nginx,IIS)
0x02 Apache
1.多字尾
影響版本
- Apache 2.0.x<=2.0.59
- Apache 2.2.x<=2.2.17
- Apache 2.2.2<=2.2.8
原理
- 處于這些版本下的Apache解析檔案規則從右到左開始解析,若字尾名為不可識别檔案字尾,再從左判斷,若上傳test.php.aa則依然解析成php。
- Apache能識别的檔案字尾名被記錄在mime.types檔案裡。
red team