您现在的位置是:首页 >学无止境 >【中间件漏洞】apache未知扩展名解析漏洞、addhandler导致的解析漏洞、换行解析漏洞(CVE-2017-15715)网站首页学无止境

【中间件漏洞】apache未知扩展名解析漏洞、addhandler导致的解析漏洞、换行解析漏洞(CVE-2017-15715)

紫洋洋洋洋 2024-06-26 14:23:21
简介【中间件漏洞】apache未知扩展名解析漏洞、addhandler导致的解析漏洞、换行解析漏洞(CVE-2017-15715)

目录

apache未知扩展名解析漏洞

漏洞复现

防范建议

AddHandler导致的解析漏洞

防范建议

Apache HTTPD 换行解析漏洞(CVE-2017-15715)

漏洞复现

防范建议


apache未知扩展名解析漏洞

Apache默认一个文件可以有多个以点分割的后缀,当最右边的后缀无法识别,则继续向左识别,直到识别到合法后缀才进行解析。

哪些后缀Apache不认识? 不在mime.types当中的都不认识 (Multipurpose Internet Mail Extensions)

使用module模式与php结合的所有版本apache存在未知扩展名解析漏洞。

使用fastcgi模式与php结合的所有版本apache不存在此漏洞。

利用此漏洞时必须保证扩展名中至少带有一个.php,不然将默认作为txt/html文档处理。

漏洞复现

在vulhub靶场中实现

[root@server apache_parsing_vulnerability]# docker-compose up -d  --启动靶场



[root@server apache_parsing_vulnerability]# docker-compose ps    --查看端口

打开浏览器访问该端口

在电脑中创建一个文件,文件内容为

<?php
phpinfo()
?>

然后将文件名改为1.php.jpg

 选择文件提交上传

上传成功后访问该文件

 出现phpinfo信息表示成功

防范建议

方法一 

在httpd.conf或httpd-vhosts.conf中加入以下语句,从而禁止文件名格式为.php.的访问权限:

<FilesMatch ".(php.|php3.|php4.|php5.)">
Order Deny,Allow
Deny from all
</FilesMatch>

方法二

如果需要保留文件名,可以修改程序源代码,替换上传文件名中的“.”为“_”: $filename = str_replace('.', '_', $filename);


AddHandler导致的解析漏洞

在有多个后缀的情况下,只要包含.php后缀的文件就会被识别出php文件进行解析,不需要是最后一个后缀

和上面例子一样

最后一个后缀名为.jpg,合法,因为文件名info.php.jpg中包含.php,所以解析为php文件

防范建议

1.在httpd.conf或httpd-vhosts.conf中加入以下语句,从而禁止文件名格式为.php.的访问权限:

<FilesMatch ".(php.|php3.|php4.|php5.)">
Order Deny,Allow
Deny from all
</FilesMatch>

2.把配置不当的文件进行修改


Apache HTTPD 换行解析漏洞(CVE-2017-15715)

Apache HTTPD是一款HTTP服务器,它可以通过mod_php来运行PHP网页。其2.4.0~2.4.29版本中存在 一个解析漏洞,在解析PHP时,1.phpx0a将被按照PHP后缀进行解析,导致绕过一些服务器的安全策略。

影响范围

apache :2.4.0~2.4.29版本

漏洞复现

先创建文件,文件内容为phpinfo

正常上传会出现badfile,无法上传

 

 

用bp代理抓包,送到repeater模块

在hex模块里找到1.php

 在07后面插入0a

点击send,没有回显badfile了

访问该文件

 

成功看到info信息,利用成功

 

防范建议

1.升级到最新版本

2.或将上传的文件重命名为为时间戳+随机数+.jpg的格式并禁用上传文件目录执行

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。