引擎解析漏洞
常見的web容器有IIS、Apache、Nginx、Tomcat等,以下是詳細講解
IIS
IIS簡介
是Windows系統提供的一種服務,它包括WWW服務器、FTP服務器和SMTP服務器
IIS 6.0
當建立*.asa,*.asp格式的文件夾時,其目錄下的人以文件都將被IIS當做asp文件解析
當文件名為*.asp;1.jpg時,同樣會以ASP腳本解析
默認解析為*.asa、*.cer、*.cdx
IIS 7.0-7.5 / Nginx <= 0.8.37
在Fast-CGI開啟狀態下,在文件路徑后加上 /xx.php ,則 xx.jpg/xx.php 會被解析為php文件
Nginx
漏洞簡介
Nginx漏洞其實就是PHP CGI漏洞,在php的配置文件中有一個關鍵的選項:cgi.fi:x_pathinfo,
此選項默認是開啟的。
PHP CGI解析漏洞
Fast-CGI關閉
在Fast-CGI關閉的情況下, Nginx 仍然存在解析漏洞: 在文件路徑(xx.jpg)后面加上 %00.php ,
即 xx.jpg%00.php 會被當做 php 文件來解析
Fast-CGI開啟
在Fast-CGI開啟狀態下,在文件路徑后加上 /xx.php ,
則 xx.jpg/xx.php 會被解析為php文件
Apache
權限
Apache默認以root或者admin身份運行,會造成以下兩個后果:
#當黑客入侵成功后,將直接獲得一個高權限的shell
#應用程序將具有較高的權限,當出現bug時會帶來較高的風險,比如刪除本地重要文件,
殺死進程等不可預知的結果
日志安全
Apache的log文件會記錄所有入侵痕跡,
默認路徑為安裝目錄下的/apache-20/logs/access.log
后綴解析
test.php.x1.x2.x3 ( x1,x2,x3 為沒有在 mime.types 文件中定義的文件類型)。
Apache 將從右往左開始判斷后綴, 若x3為非可識別后綴,則判斷x2,直到找到可識別后綴為止,
然后對可識別后綴進行解析.apache認識的拓展名存儲在安裝目錄下的/conf/mime.types中。
.htaccess
當AllowOverride被啟用時,上傳啟用解析規則的.htaccess
CVE-2017-15715
%0A繞過上傳黑名單
Tomcat
默認運行在8080端口。管理員可以在tomcat mamager中部署war包,但是用戶需要有manager權限,配置文件位置為安裝目錄下的/conf/tomcat-users.xml中。以下是兩個安全隱患配置。
#使用弱口令並賦予manager權限
<user username=”root” password=”root” roles=”manager”/>
#使用默認用戶並賦予manager權限
<user username=”tomcat” password=”tomcat” roles=”tomcat,manager”/>
Lighttpd
xx.jpg/xx.php
Windows
Windows不允許空格和點以及一些特殊字符作為結尾,創建這樣的文件會自動取出,
所以可以使用 xx.php[空格] , xx.php., xx.php/, xx.php::$DATA 可以上傳php
參考鏈接