1、概念
解析漏洞主要是一些特殊文件被Apache、IIS、Nginx等Web服務(wù)器在某種情況下解釋成腳本文件格式并得以執(zhí)行而產(chǎn)生的漏洞
2、Apache解析漏洞 CVE-2017-15715
影響范圍:2.4.0~2.4.29版本
此漏洞形成的根本原因,在于 , 正則表達(dá)式中 , 正則表達(dá)式中 ,正則表達(dá)式中不僅匹配字符串結(jié)尾位置,也可以匹配\n 或 \r ,在解析PHP時(shí),1.php\x0A將被按照PHP后綴進(jìn)行解析,導(dǎo)致繞過(guò)一些服務(wù)器的安全策略。
上傳文件test.php. 抓包 修改 php后面的點(diǎn)(2e
) 為 換行(0a
)
訪問(wèn) test.php%0a
3、Apache AddHandler解析漏洞
Apache默認(rèn)一個(gè)文件可以有多個(gè)后綴名,每次識(shí)別從右到左識(shí)別,當(dāng)最右邊的后綴無(wú)法識(shí)別時(shí),則繼續(xù)向左識(shí)別。mime.types中記錄apache可識(shí)別的后綴名
。
添加AddHandler
,使得任何文件只要包含.php后綴名的文件都會(huì)被當(dāng)作php文件解析為了使php文件可以被解析,用戶自己添加了AddHandler:AddHandler application/xhttpd-php .php
4、IIS6 解析漏洞(;)
基于文件名:該版本默認(rèn)會(huì)將*.asp;.jpg此種格式的文件名,當(dāng)成asp解析。
原理是服務(wù)器默認(rèn)不解析 ; 號(hào)及其后面的內(nèi)容相 當(dāng)于截?cái)?/code>。
5、IIS6 解析漏洞(*.asp/目錄)
基于文件夾名,該版本默認(rèn)會(huì)將 *.asp/
目錄下的所有文件當(dāng)成asp解析。
當(dāng)在網(wǎng)站下建立文件夾的名字為*.asp、*.asa、*.cer、*.cdx
的文件夾
,那么其目錄內(nèi)的任何擴(kuò)展名的文件都會(huì)被IIS當(dāng)做asp文件來(lái)解釋并執(zhí)行。
注意:微軟不認(rèn)為這一個(gè)是漏洞,因?yàn)檎G闆r下,是無(wú)法創(chuàng)建 *.asp 命名的文件夾的。
6、IIS7 解析漏洞(ISAP或CGI的模式下)
服務(wù)器是使用IIS7環(huán)境,并且在ISAP或CGI的模式下,在任意文件,如test.jpg后面加上 /.php ,會(huì)自動(dòng)將test.jpg解析為php文件。
例如:127.0.0.1/test.jpg/.php 會(huì)被解析成 127.0.0.1/test.php
7、nginx解析漏洞(cgi.fix_pathinfo)
nginx查看url,得到.php結(jié)尾,將路徑傳遞給php fastcgi處理程序,nigin傳遞給php的路徑為
php根據(jù)url映射,在服務(wù)器尋找xxx.php文件,但是xxx.php文件不存在,由于cgi.fix_pathinfo是默認(rèn)開(kāi)啟。php會(huì)繼續(xù)檢查 路徑存在的文件,并將多余部分當(dāng)作PATH_INFO,接著找到文件存在.jpg文件,后以php形式執(zhí)行.jpg內(nèi)容,并將/xxx.php 存儲(chǔ)在PATH_INFO后丟棄。
- 舉例來(lái)說(shuō):
1)上傳了一個(gè)圖片木馬文件:upload/1.jpg
2)然后訪問(wèn)方式是:upload/1. jpg /1.jlkk/1.php
3)這時(shí)后系統(tǒng)會(huì)從后面開(kāi)始找,先去找1.php,沒(méi)找到;接著往前找1.jlkk,也沒(méi)找到;再往前找1. jpg,找到了。
4)系統(tǒng)就會(huì)把找到的1.jpg來(lái)當(dāng)成是最后的一個(gè)1.php來(lái)當(dāng)成PHP文件執(zhí)行。
8、nginx解析漏洞(%00空字節(jié))
Nginx如下版本: 0.5.*、0.6.*、0.7 <= 0.7.65、0.8 <= 0.8.37
該漏洞不受cgi.fix_pathinfo影響,當(dāng)其為0時(shí),依舊解析。
- 生成一個(gè)upload/info.jpg格式的木馬文件
- 使用burp抓包,訪問(wèn)info.jpg,修改為info.jpg…php , 在16進(jìn)行模式下,修改jpg后面的 . ,為00
- 訪問(wèn)時(shí)就直接訪問(wèn)upload/info.jpg .php
- 這時(shí)就直接會(huì)把info.jpg當(dāng)成info.php來(lái)執(zhí)行。
9、總結(jié)
從攻擊者的角度來(lái)給上傳分類:
1)輕量級(jí)檢測(cè)繞過(guò)
a.繞過(guò)前端JavaScript檢測(cè):使用Burp抓包改包。
b.繞過(guò)服務(wù)器端MIME類型檢測(cè):使用Burp抓包改包。
2)路徑/文件擴(kuò)展名檢測(cè)繞過(guò)
黑名單檢測(cè)方式
- 文件名大小寫繞過(guò);
- 名單列表繞過(guò);
- 特殊文件名繞過(guò);
- 0x00截?cái)嗬@過(guò);
- .htaccess文件攻擊;
- 本地文件包含漏洞;
- Apache解析漏洞;
- IIS解析漏洞;
- Nginx解析漏洞;
白名單檢測(cè)方式文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-531996.html
- 0x00截?cái)嗬@過(guò);
- 本地文件包含漏洞;
- Apache解析漏洞;
- IIS解析漏洞;
- Nginx解析漏洞;
3)文件內(nèi)容檢測(cè)方式
對(duì)文件進(jìn)行惡意代碼注入,再配合解析漏洞(或文件包含漏洞)。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-531996.html
到了這里,關(guān)于網(wǎng)絡(luò)安全進(jìn)階學(xué)習(xí)第六課——服務(wù)器解析漏洞的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!