jagruth97/DVWA-VAPT

GitHub: jagruth97/DVWA-VAPT

一个基于 DVWA 的漏洞评估与渗透测试实践实验室,提供 OWASP Top 10 漏洞的完整攻击演练与结构化报告。

Stars: 0 | Forks: 0

# 漏洞评估与渗透测试实验室 (DVWA) 针对托管在 **Metasploitable** 上的 **Damn Vulnerable Web Application (DVWA)** 进行 Web 应用渗透测试的实践操作,使用 **Kali Linux** 作为攻击平台。演示了如何利用核心的 **OWASP Top 10** 漏洞,并配备行业标准工具和结构化报告。 ## 实验环境配置 | 虚拟机 | 角色 | 工具 / 服务 | |----|------|------------------| | Kali Linux | 攻击方 | Nmap, SQLmap, Hydra, Burp Suite | | Metasploitable 2 | 目标 | DVWA (PHP/MySQL), vsftpd, Apache | **网络:** 桥接网卡,同一子网(目标 IP 示例:`192.168.146.129` — 请替换为你的虚拟机地址)。 ### 前置条件 1. 导入 Metasploitable 2 和 Kali Linux 虚拟机(VirtualBox/VMware)。 2. 将两台虚拟机都设置为**桥接**网络,并记下目标 IP(在 Metasploitable 上使用 `ip a` 查看)。 3. 通过 `http:///dvwa/` 访问 DVWA,并根据每个练习的需要将安全级别设置为 **Low** 或 **Medium**。 4. 登录(`admin` / `password`),然后导出供 SQLmap 使用的会话 cookie: # 从浏览器 DevTools → Application → Cookies → 复制 PHPSESSID 和 security 的值 --cookie="security=low; PHPSESSID=" ## 项目结构 ``` DVWA-VAPT/ ├── attack_walkthrough.md # Step-by-step attack procedures ├── vulnerability_findings.md # Findings with CWE/OWASP mapping & remediation ├── csrf_attack.html # CSRF proof-of-concept (POST-based) ├── docs/ # Formal VAPT report (add your .docx/.pdf here) └── screenshots/ # Evidence captures (commands, Burp, payloads) ``` ## 模拟攻击 | 攻击类型 | 工具 | Endpoint / 目标 | 结果 | |-------------|------|-------------------|---------| | SQL 注入 | SQLmap | `/dvwa/vulnerabilities/sqli/` | 数据库及数据表枚举 | | 命令注入 | 浏览器 / Burp | `/dvwa/vulnerabilities/exec/` | 远程命令执行 (`id`, `uname -a`) | | 认证绕过 | 手动 | DVWA 登录表单 | `' or 1=1 --` 绕过 | | FTP 暴力破解 | Hydra | Metasploitable 上的 vsftpd | `msfadmin` 凭证被破解 | | XSS (反射型 / 存储型) | 浏览器 | `/xss_r/`, `/xss_s/` | 在受害者上下文中执行脚本 | | CSRF (Medium) | HTML PoC | `/dvwa/vulnerabilities/csrf/` | 未经用户同意修改密码 | ## 文档说明 - **攻击指南:** [`attack_walkthrough.md`](attack_walkthrough.md) - **漏洞发现:** [`vulnerability_findings.md`](vulnerability_findings.md) - **CSRF PoC:** [`csrf_attack.html`](csrf_attack.html) - **正式报告:** 将 `DVWA_VAPT_Report.docx` / `.pdf` 放在 [`docs/`](docs/) 目录中 ## 核心要点 - **自动化与手动测试相辅相成** — SQLmap 加速了 SQLi 枚举过程,但手动测试能揭示扫描器无法发现的逻辑缺陷(如认证绕过、CSRF)。 - **安全级别至关重要** — DVWA 的 low/medium/high 设置会直接影响可利用性;务必记录测试时的配置。 - **会话处理极为关键** — 经过认证的扫描需要有效的 cookie;过期的会话会导致 SQLmap 等工具出现漏报。 - **纵深防御** — 单个遗漏的防护措施(输入验证、CSRF token、速率限制)可能导致系统被完全攻陷。 - **明确范围** — FTP 暴力破解针对的是主机操作系统服务,而非 Web 应用;在实际测试中应记录好范围的边界。 ## 经验教训 1. **Cookie 导出工作流** — 浏览器 DevTools 的 cookie 导出功能对于针对 DVWA 执行经过认证的 SQLmap 扫描至关重要。 2. **Medium 级别的 CSRF 细节** — Medium 安全级别可能需要 `user_token`;该 PoC 使用 POST 请求并带有占位符 token。在 Low 安全级别下,无 token 的 GET 请求即可满足要求。 3. **证据收集** — 对 Burp 拦截、终端输出和成功 payload 的截图可以增强 VAPT 报告的说服力,并有助于面试交流。 4. **修复方案框架** — 将每项发现与 OWASP 类别、CWE ID 以及可操作的修复措施结合起来,以展示防御方面的知识,而不仅仅是利用能力。 ## 简历价值 展示了实用的进攻安全技能:OWASP Top 10 漏洞利用、熟练使用 SQLmap/Hydra/Burp Suite、结构化的 VAPT 文档编写以及修复意识 — 所有这些都包含在一个可复现的作品集仓库中。
标签:AES-256, CISA项目, CTI, OPA, PNNL实验室, Web安全, 后端开发, 安全实验报告, 漏洞评估, 蓝队分析, 靶场