漏洞复现
Vulhub-漏洞环境搭建
1panel
Bash
Tomcat
Apache Shiro框架漏洞
Apache Struts2
Apache漏洞
ThinkPHP框架漏洞
MySQL写入shell
-
+
首页
Apache漏洞
# 一、概述 Apache(音译为阿帕奇)是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服务器中。 httpd是Apache超文本传输协议(HTTP)服务器的主程序。被设计为一个独立运行的后台进程,它会建立一个处理请求的子进程或线程的池。 # 二、apache_parsing_vulnerability ### 漏洞描述 apache多后缀解析漏洞 apahe解析文件时候有一特性,Apache默认一个文件可以有多个以点分割的后缀,apache会从最右边开始识别其后缀名,如遇无法识别的后缀名则依次往左进行识别。 如果运维人员给.php后缀的文件添加了处理程序 `AddHandler application/x-httpd-php .php` 那么在有多个后缀的情况下,只要文件含有.php后缀那么该文件就会被识别为PHP文件进行解析。 ### 漏洞范围 该漏洞和apache版本和php版本无关,属于用户配置不当造成的解析漏洞。 ### 修复建议 - 通过正则方式来对其进行限制;在配置文件中添加如 匹配样式为 .php. 的文件并拒绝访问 ### 漏洞复现  1、首先准备一个shell.php木马  2、直接上传shell.php,显示类型不正确   3、在后缀名.php后面加上.jpg,再次进行上传  上传成功  4、对文件进行访问传参  # 三、CVE-2017-15715 ### 漏洞描述 换行解析漏洞 apache 在修复第一个后缀名解析漏洞时,用正则来匹配后缀。在解析 php 时 xxx.php\x0A 将被按照 php 后缀进行解析,导致绕过一些服务器的安全策略。 ### 漏洞范围 2.4.0~2.4.29 版本中存在一个解析漏洞 ### 漏洞原理 解析漏洞的根本原因就是这个 $ ,正则表达式中,我们都知道 $ 用来匹配字符串结尾位置. $符号: 匹配输入字符串的结尾位置。如果设置了 RegExp 对象的 Multiline 属性,则 $ 也匹配 '\n' 或 '\r'。 要匹配 $ 字符本身,请使用 \$。 如果设置MULTILINE标示,就当作换符处理,如果不设置就当作一行文本处理 打开httpd-php.conf,通过正则匹配到$结尾,刚刚那个只要有.php就解析  ### 漏洞复现  1、查看index.php的后端源码  采用黑名单的形式,如果文件后缀名不在名单内即可上传,所以 a.php\0A不在黑名单列表中,可以上传。 但是0A是换行符,所以apache会直接忽略,将其当成php来执行。 2、上传shell.php进行抓包   3、通过16进制在abc.php换为一个oa换行符   0d换为0a  4、放包后页面显示空白  5、访问abc.php%oa并进行传参 
毛林
2025年9月18日 16:30
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
PDF文档(打印)
分享
链接
类型
密码
更新密码