解析漏洞的(de)原理: - 新聞資訊 - 雲南小程序開發|雲南軟件開發|雲南網站建設-昆明融晨信息技術有限公司

159-8711-8523

雲南網建設/小程序開發/軟件開發

知識

不(bù)管是(shì)網站,軟件還是(shì)小程序,都要(yào / yāo)直接或間接能爲(wéi / wèi)您産生價值,我們在(zài)追求其視覺表現的(de)同時(shí),更側重于(yú)功能的(de)便捷,營銷的(de)便利,運營的(de)高效,讓網站成爲(wéi / wèi)營銷工具,讓軟件能切實提升企業内部管理水平和(hé / huò)效率。優秀的(de)程序爲(wéi / wèi)後期升級提供便捷的(de)支持!

您當前位置>首頁 » 新聞資訊 » 技術分享 >

解析漏洞的(de)原理:

發表時(shí)間:2020-10-19

發布人(rén):融晨科技

浏覽次數:64

解析漏洞的(de)原理:

解析漏洞是(shì)指web服務器因對http請求處理不(bù)當導緻将非可執行
的(de)腳本文件等當做可執行的(de)腳本,文件等執行。該漏洞—般配
合服務器的(de)文件上(shàng)傳功能使用,以(yǐ)獲取服務器的(de)權限。

常見的(de)解析漏洞

(一)IIS5.x-6.x解析漏洞

使用iis5.x-6.x版本的(de)服務器,大(dà)多爲(wéi / wèi)windows server 2003,網站比較古老,開發語句一般爲(wéi / wèi)asp;該解析漏洞也(yě)隻能解析asp文件,而(ér)不(bù)能解析aspx文件。

1)目錄解析(6.0)

形式:www.xxx.com/xx.asp/xx.jpg

原理: 服務器默認會把.asp,.asp目錄下的(de)文件都解析成asp文件。

2)文件解析

形式:www.xxx.com/xx.asp;.jpg

原理:服務器默認不(bù)解析;号後面的(de)内容,因此xx.asp;.jpg便被解析成asp文件了(le/liǎo)。

3)解析文件類型

IIS6.0 默認的(de)可執行文件除了(le/liǎo)asp還包含這(zhè)三種 :

/test.asa
/test.cer
/test.cdx

(二)IIS7.5解析漏洞

IIS7.5的(de)漏洞與nginx的(de)類似,都是(shì)由于(yú)php配置文件中,開啓了(le/liǎo)cgi.fix_pathinfo,而(ér)這(zhè)并不(bù)是(shì)nginx或者iis7.5本身的(de)漏洞。

(三)apache解析漏洞

漏洞原理

Apache 解析文件的(de)規則是(shì)從右到(dào)左開始判斷解析,如果後綴名爲(wéi / wèi)不(bù)可識别文件解析,就(jiù)再往左判斷。比如test.php.qwe.asd “.qwe”和(hé / huò)”.asd” 這(zhè)兩種後綴是(shì)apache不(bù)可識别解析,apache就(jiù)會把wooyun.php.qwe.asd解析成php。

漏洞形式

www.xxxx.xxx.com/test.php.php123

其餘配置問題導緻漏洞

(1)如果在(zài) Apache 的(de) conf 裏有這(zhè)樣一行配置 AddHandler php5-script .php 這(zhè)時(shí)隻要(yào / yāo)文件名裏包含.php 即使文件名是(shì) test2.php.jpg 也(yě)會以(yǐ) php 來(lái)執行。

(2)如果在(zài) Apache 的(de) conf 裏有這(zhè)樣一行配置 AddType application/x-httpd-php .jpg 即使擴展名是(shì) jpg,一樣能以(yǐ)php 方式執行。

修複方案

1.apache配置文件,禁止.php.這(zhè)樣的(de)文件執行,配置文件裏面加入

2.用僞靜态能解決這(zhè)個(gè)問題,重寫類似.php.*這(zhè)類文件,打開apache的(de)httpd.conf找到(dào)LoadModule rewrite_module modules/mod_rewrite.so

把#号去掉,重啓apache,在(zài)網站根目錄下建立.htaccess文件

(四)Nginx解析漏洞

漏洞原理

Nginx默認是(shì)以(yǐ)CGI的(de)方式支持PHP解析的(de),普遍的(de)做法是(shì)在(zài)Nginx配置文件中通過正則匹配設置SCRIPT_FILENAME。當訪問www.xx.com/phpinfo.jpg/1.php這(zhè)個(gè)URL時(shí),$fastcgi_script_name會被設置爲(wéi / wèi)“phpinfo.jpg/1.php”,然後構造成SCRIPT_FILENAME傳遞給PHP CGI,但是(shì)PHP爲(wéi / wèi)什麽會接受這(zhè)樣的(de)參數,并将phpinfo.jpg作爲(wéi / wèi)PHP文件解析呢?這(zhè)就(jiù)要(yào / yāo)說(shuō)到(dào)fix_pathinfo這(zhè)個(gè)選項了(le/liǎo)。 如果開啓了(le/liǎo)這(zhè)個(gè)選項,那麽就(jiù)會觸發在(zài)PHP中的(de)如下邏輯:

PHP會認爲(wéi / wèi)SCRIPT_FILENAME是(shì)phpinfo.jpg,而(ér)1.php是(shì)PATH_INFO,所以(yǐ)就(jiù)會将phpinfo.jpg作爲(wéi / wèi)PHP文件來(lái)解析了(le/liǎo)

漏洞形式

www.xxxx.com/UploadFiles/image/1.jpg/1.php

www.xxxx.com/UploadFiles/image/1.jpg%00.php

www.xxxx.com/UploadFiles/image/1.jpg/%20\0.php

另外一種手法:上(shàng)傳一個(gè)名字爲(wéi / wèi)test.jpg,然後訪問test.jpg/.php,在(zài)這(zhè)個(gè)目錄下就(jiù)會生成一句話木馬shell.php。

NGINX與APACHE解析url文件的(de)不(bù)通

nginx:對url是(shì)從左往右讀取,并先讀取文件名一直讀到(dào)最後一個(gè)文件後綴才是(shì)該文件的(de)後綴

apache:對url是(shì)從右往左讀取,并先讀取文件後綴讀取第一個(gè),默認前面都是(shì)文件名

相關案例查看更多