web中间价apache渗透
字数 1729 2025-08-09 18:44:06
Apache Web服务器渗透测试全面指南
1. Apache简介与基础
Apache是世界使用排名第一的Web服务器软件,具有以下特性:
- 跨平台性:可运行在几乎所有广泛使用的计算机平台上
- 多语言支持:支持HTML、PHP、Perl、Python等语言
- 高性能:快速、可靠且可通过简单API扩展
- 最新协议支持:支持HTTP/1.1通信协议
- 多种功能:支持虚拟主机、HTTP认证、SSL、FastCGI等
Apache目录结构:
bin/ # 常用命令工具,如httpd
cgi-bin/ # Linux常用命令,如xxx.sh
conf/ # 配置文件,如httpd.conf
error/ # 错误记录
htdocs/ # 网站源码
icons/ # 网站图标
logs/ # 日志
manual/ # 手册
modules/ # 扩展模块
2. Apache解析漏洞(CVE-2017-15715)
漏洞简介
- 别名:未知扩展名漏洞
- 影响范围:Apache 1.x、2.x
- 漏洞成因:Apache默认允许文件有多个以点分隔的后缀,从右向左识别可解析的后缀
漏洞原理
当请求shell.php.xxx.yyy文件时:
- 先尝试解析
.yyy后缀 → 无法识别 - 向左尝试
.xxx后缀 → 无法识别 - 向左尝试
.php后缀 → 可识别,作为PHP文件执行
复现步骤
- 上传包含PHP代码的图片文件(如
shell.php.jpg) - 访问该文件,Apache会将其作为PHP文件解析执行
利用条件
- 使用module模式(PHP5.3以下版本与Apache联动时)
- 文件名至少包含一个
.php后缀 - 网站上传功能仅检查最后一个后缀名
扩展知识
- Apache支持的扩展名定义在
conf/mime.types文件中 - 在Kali Linux中,配置文件位于
/etc/apache2/ - PHP作为Apache模块运行时,相关配置在
mods-enabled/目录下
3. AddHandler导致的解析漏洞
漏洞简介
由于不安全配置导致,常见于运维人员添加如下配置:
AddHandler application/x-httpd-php .php
此配置表示只要文件名中包含.php,就会作为PHP文件执行,与位置无关。
复现步骤
- 创建如
shell.php.jpg的文件 - 在配置中添加上述AddHandler指令
- 重启Apache服务
- 访问该文件,会被作为PHP执行
4. 罕见后缀解析漏洞
Apache默认支持多种PHP相关后缀:
.php3,.php4,.php5.phtml,.phar
查看支持的类型:
cat /etc/mime.types | grep php
其他危险配置
- 特定文件匹配执行:
<FilesMatch "baixi.jpg">
SetHandler application/x-httpd-php
</FilesMatch>
- 添加处理器:
AddHandler php5-script .php
- 添加类型:
AddType application/x-httpd-php .jpg
5. 目录遍历漏洞
漏洞简介
当Web服务器配置不当且目录中不存在默认文件(如index.html)时,Apache会列出当前目录下所有文件,导致敏感信息泄露。
发现方法
在搜索引擎中使用:
intitle:index of
6. Apache HTTPD换行解析漏洞(CVE-2017-15715)
漏洞详情
- 影响版本:Apache 2.4.0~2.4.29
- 漏洞原理:正则表达式
\.php$中的$会匹配字符串结尾的换行符(%0A),因此shell.php%0A也会被识别为PHP文件
复现步骤
- 尝试上传PHP文件被拦截
- 使用Burp Suite抓包修改上传请求
- 将文件名后缀中的点(
.)的hex值2E改为换行符0A - 发送修改后的请求
- 访问上传的文件(需包含
%0A)
注意:此漏洞在Windows环境下无法复现,因为Windows不允许文件名以换行符结尾。
7. Apache SSI远程命令执行漏洞
漏洞简介
- 影响版本:所有支持SSI与CGI的Apache版本
- 漏洞原理:当服务器开启SSI与CGI支持时,可上传
.shtml文件并利用SSI指令执行命令
SSI指令
<!--#exec cmd="command" -->
复现方法一
- 创建包含SSI指令的文件:
<!--#exec cmd="whoami" -->
- 上传该文件
- 访问上传的文件,将执行指定命令
复现方法二
- 上传任意文件并使用Burp Suite拦截
- 修改文件内容为SSI指令
- 重放请求完成上传
- 访问文件执行命令
8. 防御建议
- 及时更新Apache到最新版本
- 谨慎配置AddHandler和AddType指令
- 禁用不必要的模块(如SSI、CGI)
- 严格限制上传文件类型
- 确保目录有默认页面防止目录遍历
- 使用白名单而非黑名单验证文件上传
- 对用户上传的文件进行重命名
- 限制上传目录的执行权限
通过全面了解这些Apache相关的漏洞和攻击技术,安全人员可以更好地评估和加固Web服务器的安全性。