![43fa3a84492ed1f29dcaccb0f8d40d6c.png](https://i-blog.csdnimg.cn/blog_migrate/a57803c0049a03688c6c956879dcb2f9.jpeg)
大家好,我是阿远,今天给大家分享一下Apache解析漏洞的原理
Apache解析漏洞
在Apache中,访问:liuwx.php.360会从右往左识别后缀,存在解析漏洞的时候,会从右往左识别哪个能解析,360是不能被解析,然后往左识别到php就识别能解析,这就是Apache的解析漏洞
漏洞复现环境
Windows Server 2003_x64ApachePhpStudy
![7544c8cea79efd0f8d5df0515c320ad0.png](https://i-blog.csdnimg.cn/blog_migrate/4f0fd9e700644cffc45b92dc439a2458.jpeg)
提示:如果物理主机Ping不通2003,那么就吧2003的防火墙关闭就可以了!
网络环境安装完后,直接安装Phpstudy:
![44f792068fceb64b3ed586196808bb7c.png](https://i-blog.csdnimg.cn/blog_migrate/703c10c77778da08b5cf27cba8653686.jpeg)
安装完Phpstudy用到的版本是:
Apache + PHP 5.2
![f6e0050edba5ffdfdcf0d0dc44649ca2.png](https://i-blog.csdnimg.cn/blog_migrate/36b2dfa40bef209b88a374dd63c373f7.jpeg)
用Apache搭建的网站,默认的玩这个更目录是:C:phpstudyWWW
![8611114df41b7623ceead22b0211d398.png](https://i-blog.csdnimg.cn/blog_migrate/33bd882e2bee57e2c5352fcd00f175e6.jpeg)
打开:http://192.168.119.134/1.txt
![370e2c1ac1b7200870c4469f3e3873d0.png](https://i-blog.csdnimg.cn/blog_migrate/f3a991ebaa23d04c7b6c8ba29613128a.jpeg)
OK!这个时候我们的网站已经环境都已经安装完毕了!
![3ac5dae704e92ea1e6825b9ee0a49222.png](https://i-blog.csdnimg.cn/blog_migrate/b6f9e423a2573650b65f2749e8079972.jpeg)
服务器域名/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的文件:
![799464d2d3be587b7f6e0dc79fc36644.png](https://i-blog.csdnimg.cn/blog_migrate/adbc183c342622b456fb6d4304f9da24.jpeg)
很显然.shell的文件后缀是未知的后缀名,但是浏览器还是把它当做php执行解析了!
![e3d9b36055e5ee97c9566f8d7163a42e.png](https://i-blog.csdnimg.cn/blog_migrate/ee3b4c051e831f6a3dbe8b39be6101af.jpeg)
我们把后缀换成熟悉的格式:liwux.php.aaa:
![8ae0d0ef925b19541145ed4f3b943b36.png](https://i-blog.csdnimg.cn/blog_migrate/925a49a7a1800eaa5f12d70a5dc8358e.jpeg)
可以看到,任然能够正常的解析php
漏洞防御
1、修改Apache的主配置文件:C:phpstudyApacheconfhttpd.conf
对apache的配置文件做适当修改,在文件中添加下面几行代码
Order Deny,Allow Deny from all
2、禁止.php.文件的访问权限