Apache最新解析漏洞:CVE-2017-15715复现

Posted 蘑菇安全小组

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Apache最新解析漏洞:CVE-2017-15715复现相关的知识,希望对你有一定的参考价值。

原理


Apache官网给出的漏洞信息

翻译过来

Apache最新解析漏洞:CVE-2017-15715复现

参考链接:http://httpd.apache.org/security/vulnerabilities_24.html


什么是<FilesMatch>?

    <FilesMatch>在apache配置文件中用来做访问控制之用,比如可配置某目录下,禁止访问php文件。

Apache最新解析漏洞:CVE-2017-15715复现


如何利用??

在默认配置下, “上传”一个带“换号符”的php文件上去,使用http://ip/test.php%0a访问,可直接解析PHP内容。

如下图,已上传一个“6.php换行符”文件。(上传过程后文有记载,在linux可使用如下方法发现文件名后面有换行符:“cat 文件名前部分+Tab键”,如cat 6.p+Tab键

Apache最新解析漏洞:CVE-2017-15715复现浏览器访问:http://192.168.131.136/upload/upload-labs/master/upload//6.php%0a访问链接最后加%0a

Apache最新解析漏洞:CVE-2017-15715复现不加%0a会显示无此文件

Apache最新解析漏洞:CVE-2017-15715复现


Apache情况说明

默认情况下,apache2.4.x使用了<FilesMatch>(在/etc/httpd/conf.d/php.conf文件),故可利用。该配置代表解析php。

Apache最新解析漏洞:CVE-2017-15715复现


利用


环境:centos7+httpd2.4.6+php5.6

情况一:在代码层采用黑名单策略防止上传


代码如下:

Apache最新解析漏洞:CVE-2017-15715复现

上传PHP文件

Apache最新解析漏洞:CVE-2017-15715复现

直接无法上传

Apache最新解析漏洞:CVE-2017-15715复现

对上传包进行以下修改:在1.php后添加x0a,成功上传

Apache最新解析漏洞:CVE-2017-15715复现

访问该图片链接并在后面加%0a,成功解析。(也可是是一个shell)

Apache最新解析漏洞:CVE-2017-15715复现


情况二:在apache配置文件中进行如下配置:上传目录php目录禁止访问。(但以$做正则匹配)


此方法无法直接利用解析漏洞!!!

httpd.conf文件做如下配置

Apache最新解析漏洞:CVE-2017-15715复现

发现无法解析

Apache最新解析漏洞:CVE-2017-15715复现

证明”$”符号起到了限制效果。

Apache最新解析漏洞:CVE-2017-15715复现


情况三:在apache配置文件中进行如下配置:上传目录不做PHP文件的解析。(但以$做正则匹配)


此方法无法直接利用解析漏洞!!!

httpd.conf文件做如下配置

Apache最新解析漏洞:CVE-2017-15715复现

可绕过限制访问其中的php文件(“1.php换行符”是包含<?php phpinfo(); ?>的图片马)

Apache最新解析漏洞:CVE-2017-15715复现

发现可绕过是否是PHP文件的检测,但不对其代码进行解析。


利用条件


  1. 文件上传采取黑名单策略(或直接任意文件上传);

  2. 获取文件名时不能用“去掉换行”的函数,比如$_FILES['file']['name'];

  3. 在上传目录下,文件有执行权限和解析权限

  4. Apache在配置文件中采用了“$”做PHP解析的正则匹配(其他情况不行),如下图。

Apache最新解析漏洞:CVE-2017-15715复现


影响版本



Apache 2.4.29-2.4.25, 2.4.23, 2.4.20

Apache 2.4.18-2.4.16, 2.4.12, 2.4.10

Apache 2.4.9, 2.4.7, 2.4.6, 2.4.4-2.4.1

所有版本均存在,只不过默认情况下,apache2.4.x版本有如下配置(其他版本亲测有效)


    欢迎各位大佬批评指正!




以上是关于Apache最新解析漏洞:CVE-2017-15715复现的主要内容,如果未能解决你的问题,请参考以下文章

漏洞复现之apache解析漏洞

漏洞复现之apache解析漏洞

apache httpd 解析漏洞

Apache文件解析漏洞复现,CVE-2017-15715复现,Apache多后缀解析漏洞复现

Apache[多后缀文件名解析漏洞+换行解析漏洞+SSI远程命令执行漏洞]复现

思科Talos针对Apache Struts高危漏洞(S2-045) 的防护建议