DVWA 文件上传漏洞实验%00 截断实验与.htaccess 文件攻击实验

一、实验环境

  • Web 集成环境:phpStudy 2018
  • 靶场:DVWA漏洞练习平台
  • 抓包工具:BurpSuite。

二、%00 空字节截断实验

设置 DVWA 安全等级,进入 DVWA,将安全等级设置为:Medium

  1. 准备测试文件

新建文件:yourname.php

文件内容如下:

<?php

phpinfo();

?>

为了绕过简单的后缀检测,可以将文件名修改为:yourname.php.jpg

  1. 使用 Burp Suite 抓取上传请求

打开 Burp Suite,开启拦截。

在 DVWA File Upload 页面选择文件:yourname.php.jpg,点击Upload。

  1. 修改文件名

在 Burp Suite 中,将文件名yourname.php.jpg 修改为yourname.php .jpg

注意:php 和 .jpg 中间添加了一个空格,这样做的目的是方便在 Hex 视图中定位该空格。

  1. 在 Hex 视图中插入空字节

切换到 Burp Suite 的 Hex 视图,找到刚才添加的空格。

空格对应的十六进制值是:20,将20修改为00。(截断方法一)

还可以通过下述方法实现截断 (截断方法二)

  1. 发送修改后的请求

修改完成后,点击:Forward,放行请求,将数据包发送给服务器。

  1. 验证 %00 截断结果

尝试访问:http://127.0.0.1/dvwa/hackable/uploads/**yourname.php**

结果分析

利用%00 空字节截断漏洞,通过编码实现文件上传。

三、.htaccess 文件上传攻击实验

设置 DVWA 安全等级为:High

1. 检查 Apache 配置

打开 phpStudy 中 Apache 配置文件,一般路径类似:

phpStudy\PHPTutorial\Apache\conf\httpd.conf

查找:AllowOverride

确保 DVWA 所在目录或网站根目录相关配置为:

AllowOverride All

如果配置为:AllowOverride None

则 .htaccess 文件不会生效。

修改后需要重启 Apache。

2. 准备 .htaccess 文件

在本地新建文件,文件名为:

.htaccess

文件内容如下:

AddType application/x-httpd-php .jpg

AddHandler application/x-httpd-php .jpg

其作用是让 Apache 尝试将 .jpg 文件作为 PHP 文件解析。

3. 上传 .htaccess 文件

进入 DVWA 左侧菜单:File Upload

先设置级别为Low,选择本地 .htaccess 文件,点击上传,再切换级别为High。

4. 准备测试文件

准备图片马,命名为:yourname.jpg

文件内容如下:

GIF89a

<?php

phpinfo();

?>

在 DVWA 的 File Upload 页面选择test.jpg,点击上传。

5 验证 .htaccess 攻击结果

在浏览器中访问:http://127.0.0.1/dvwa/hackable/uploads/yourname.jpg

访问结果分析

访问 http://127.0.0.1/dvwa/hackable/uploads/yourname.jpg 成功显示 phpinfo() 页面,.jpg 文件被当作 PHP 执行。

原因分析

  1. .htaccess 生效:Apache 配置 AllowOverride All ,允许目录级配置覆盖,上传的 .htaccess 被加载。
  2. 解析规则被篡改:文件中 AddType/AddHandler 指令强制 Apache 将 .jpg 当作 PHP 解析。
  3. 图片马可执行:yourname.jpg 包含 GIF89a 文件头绕过图片检测,内嵌 <?php phpinfo();?> 被解析执行。
  4. High 等级绕过:High 仅校验文件头与后缀,未限制 .htaccess 上传,实现绕过。

五、实验小结

防御措施

  • Apache 配置 AllowOverride None,禁止加载 .htaccess。
  • 上传目录设置为不可执行,分离上传与脚本解析目录。
  • 严格校验文件后缀、MIME 类型、文件内容,重命名上传文件。
  • 仅允许白名单后缀,禁用危险脚本类型上传。
相关推荐
MC皮蛋侠客8 小时前
DNP3 系列(十二):测试与工具链——模拟器、Wireshark 与一致性测试
网络·wireshark·dnp3
luiyarch9 小时前
汽车电子ISO 26262功能安全系列(第17期):系统集成与测试——验证系统级安全机制
嵌入式硬件·安全·车载系统·汽车
观测云10 小时前
Fastjson 高危 RCE(CVE-2026-16723):如何用观测云快速发现并完成修复
网络·安全·可观测性·观测云
山东科恩光电10 小时前
安全触边在提升设备运行安全性中的实践与效果分析
安全
hh95011 小时前
Agent Plan x DeepSeek Harness:Agent 供应链安全与第三方插件审计
java·开发语言·安全·agent plan·adg成都社区·adg社区
山东科恩光电12 小时前
如何利用安全地毯提升工作场所的安全防护?
安全
楷哥爱开发12 小时前
TikTok Shop新加坡本土店入驻:如何选择新加坡本土住宅IP?
网络·网络协议·tcp/ip
网安蟹佬霸12 小时前
# 网络流量分析实战:从Wireshark到入侵检测系统构建(2026最新版,附完整流量分析链与IDS规则集)
网络·测试工具·安全·开源·wireshark·密码学·哈希算法
Magic-ZYJ13 小时前
HarmonyOS Release 构建安全:ArkGuard 混淆、签名配置与秘密管理
安全·华为·harmonyos·移动应用开发·心晴手记
Delite80213 小时前
开口闪点检测智能化升级:工业油品安全检测的标准化解决方案
大数据·人工智能·安全