Apache解析漏洞
在Apache中,访问:liuwx.php.360会从右往左识别后缀,存在解析漏洞的时候,会从右往左识别哪个能解析,360是不能被解析,然后往左识别到php就识别能解析,这就是Apache的解析漏洞
漏洞复现环境
1 2 3 4 5 | Windows Server 2003_x64 Apache PhpStudy |
在这里我物理主机的IP是:192.168.1.101
2008虚拟机的IP是:192.168.119.134

提示:如果物理主机Ping不通2003,那么就吧2003的防火墙关闭就可以了!
网络环境安装完后,直接安装Phpstudy:

安装完Phpstudy用到的版本是:
Apache + PHP 5.2

用Apache搭建的网站,默认的玩这个更目录是:C:\phpstudy\WWW

访问:http://192.168.119.134/1.txt

OK!这个时候我们的网站已经环境都已经安装完毕了!

1 2 3 4 5 6 7 8 9 10 11 | 服务器域名/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:\phpstudy\Apache\conf\httpd.conf
对apache的配置文件做适当修改,在文件中添加下面几行代码
1 2 3 4 5 6 7 | <FilesMatch ".(php.|php3.|php4.|php5.)"> Order Deny,Allow Deny from all </FilesMatch> |
2、禁止*.php.*文件的访问权限









