大家好,我是阿遠,今天給大家分享一下Apache解析漏洞的原理
Apache解析漏洞
在Apache中,訪問:liuwx.php.360會從右往左識別后綴,存在解析漏洞的時候,會從右往左識別哪個能解析,360是不能被解析,然后往左識別到php就識別能解析,這就是Apache的解析漏洞
漏洞復現環境
windows Server 2003_x64 Apache PhpStudy
提示:如果物理主機Ping不通2003,那么就吧2003的防火墻關閉就可以了!
網絡環境安裝完后,直接安裝Phpstudy:
安裝完Phpstudy用到的版本是:
Apache + PHP 5.2
用Apache搭建的網站,默認的玩這個更目錄是:C:phpstudyWWW
打開:http://192.168.119.134/1.txt
OK!這個時候我們的網站已經環境都已經安裝完畢了!
服務器域名/IP地址 :192.168.119.134(192.168.119.134) 服務器解譯引擎:Apache/2.4.10 (Win32) OpenSSL/0.9.8zb PHP/5.2.17 服務器端口:80 服務器主機名:HACKER 絕對路徑:C:/phpstudy/WWW 探針路徑:C:/phpstudy/WWW/l.php
漏洞原理
Apache文件解析漏洞與用戶的配置有密切的關系,嚴格來說屬于用戶配置問題。Apache文件解析漏洞涉及到一個解析文件的特性。Apache默認一個文件可以有多個以點.分割的后綴,當右邊的后綴無法識別,則繼續向左識別,發現后綴是php,交個php處理這個文件。
漏洞復現
首先創建了一個liwux.shell的文件:
很顯然.shell的文件后綴是未知的后綴名,但是瀏覽器還是把它當做php執行解析了!
我們把后綴換成熟悉的格式:liwux.php.aaa:
可以看到,任然能夠正常的解析php
漏洞防御
1、修改Apache的主配置文件:C:phpstudyApacheconfhttpd.conf
對apache的配置文件做適當修改,在文件中添加下面幾行代碼
<FilesMatch ".(php.|php3.|php4.|php5.)"> Order Deny,Allow Deny from all </FilesMatch>
2、禁止.php.文件的訪問權限