概述:Web容器解析漏洞,就是Web容器在解析脚本出现的"bug"。解析漏洞主要是一些特殊文件被IIS、Apache、Nginx等服务在某种情况下解释成脚本文件格式并得以执行而产生的漏洞。
Apache解析漏洞(info.php.xxx绕过)
概述:Apache 解析文件的规则是从右到左开始判断解析,如果后缀名为不可识别文件解析,就再往左判断。比如 test.php.owf.rar “.owf”和”.rar” 这两种后缀是apache不可识别解析,apache就会把其解析成test.php。
漏洞形式
www.xxxx.xxx.com/test.php.xxx
Apache Httpd支持一个文件拥有多个后缀,不同的后缀执行不同的命令,也就是说当我们上传的文件中只要后缀名含有php,该文件就可以被解析成php文件。如果在 Apache 的 conf 里有这样一行配置 AddHandler php5-script .php 这时只要文件名里包含.php 即使文件名是 test2.php.jpg 也会以 php 来执行。利用Apache httpd这个特性,就可以绕过上传文件的白名单。该漏洞和apache版本和php版本无关,属于用户配置不当造成的解析漏洞。
环境配置:
phpstudy2018, php-5.4.45
打开 "phpStudy\PHPTutorial\Apache\conf\httpd.conf"文件,在任意位置增加如下一行
AddHandler php5-script .php
![](https://img-blog.csdnimg.cn/img_convert/22a8282319503cc88e72affccbf80a3d.png)
重启PHPstudy
靶场实战:
upload-labs-第4关为例。
这个漏洞对绕过文件上传限制特别有用。点击“显示源码”或“查看提示”可以看到部分后缀被列入黑名单。将文件后缀名改为 info.php.xxx时上传成功。如观察到响应包apache版本为2.2.25,存在解析漏洞。
![](https://img-blog.csdnimg.cn/img_convert/04915d3b4a0fa14e637bc0bd781ebb6b.png)
有以下几种思路:
修改同类型后缀:先尝试将文件后缀名修改为同类型文件的后缀,比如将php修改为php5等,看看哪些后缀能成功执行文件代码,这样上传的文件就会在网站成功执行。
修改为其他类型后缀:当文件后缀修改为其他类型后,往往无法顺利执行文件内代码,需要配合.htaccess修改局部配置。
当中间件是Apache时,可以尝试利用其解析漏洞来绕过。当信息收集发现中间件为Apache时,该方法建议优先于前两种进行测试。
![](https://img-blog.csdnimg.cn/img_convert/84c54ec6cbd96b626b522f11caefc509.png)
![](https://img-blog.csdnimg.cn/img_convert/197652a0db05207f0578aaf35c64cbc8.png)
准备上传文件。新建一个txt文件,文件内容为<?php phpinfo(); ?>,并将其重命名为info.php.xxx。
![](https://img-blog.csdnimg.cn/img_convert/41b037609147f6b726fa785a9d734630.png)
上传info.php.xxx文件。选择info.php.xxx,在新建页面打开图片