trupti407/DVWA-SQL-Injection-Report
GitHub: trupti407/DVWA-SQL-Injection-Report
基于DVWA靶场的SQL注入漏洞演示报告,涵盖从漏洞发现、PoC编写到修复建议的完整教学流程。
Stars: 0 | Forks: 0
# SQL 注入漏洞报告 (DVWA)
## 📖 项目概述
本项目演示了一个简单的 SQL 注入漏洞,使用的是
Damn Vulnerable Web Application (DVWA)。
DVWA 是一个有意设计为存在漏洞的 Web 应用程序,用于在安全的实验环境中
学习和实践 Web 安全概念。
本项目仅在受控的本地环境中执行,仅用于教育目的。
## 🔍 漏洞名称
SQL 注入 (Low 安全级别)
## 🧠 漏洞概述
SQL 注入是一种 Web 安全漏洞,允许攻击者通过向输入字段中
注入恶意 SQL 代码来干扰数据库查询。
在这种情况下,应用程序在将用户输入发送到数据库之前
没有对其进行正确的验证。
## 💥 影响 (说明)
如果被攻击者利用:
- 可以访问数据库中的所有用户数据。
- 敏感信息可能被泄露。
- 可能绕过身份验证。
- 整个数据库可能受到威胁。
这可能导致严重的数据泄露。
## 🔬 研究与测试方法
- 测试类型:手动测试
- 环境:Localhost (XAMPP)
- DVWA 安全级别:Low
- 攻击方法:输入篡改
- 未使用自动化利用工具
## 🧪 概念验证 (PoC)
### 步骤 1:
启动 XAMPP 并打开 DVWA:
http://localhost/DVWA
### 步骤 2:
使用默认凭据登录:
- 用户名:admin
- 密码:password
### 步骤 3:
将安全级别设置为 **Low**
### 步骤 4:
进入:
DVWA Security → SQL Injection
### 步骤 5:
输入正常输入:
1
结果:显示单条用户记录。
### 步骤 6:
输入恶意输入:
1' OR '1'='1
结果:显示所有用户记录。
这证明该应用程序存在 SQL 注入漏洞。
## 📊 风险与严重程度分类
- 漏洞类型:SQL 注入
- 严重程度:高
- 风险影响:未授权数据访问
- OWASP 类别:注入 (OWASP Top 10)
原因:
该漏洞允许攻击者在没有身份验证控制的情况下提取整个数据库记录。
## 🖥️ 截图
### 1️⃣ DVWA 登录页面

### 2️⃣ SQL 注入漏洞页面

### 3️⃣ 正常查询结果 (ID = 1)

### 4️⃣ SQL 注入结果 (检索到多个用户)
使用的 Payload:
1' OR '1'='1

## 🛠 基本修复与预防
为了防止 SQL 注入:
1. 使用预处理语句 (参数化查询)
2. 验证并清理用户输入
3. 使用最小权限数据库访问
4. 启用正确的错误处理
## 🏷 使用工具
- DVWA (Damn Vulnerable Web Application) - 用于安全测试的易受攻击 Web 应用程序。
- XAMPP (Apache + MySQL) – 本地 Web 服务器环境。
- PHP - 服务器端脚本语言。
- Localhost 环境
## ⚠ 免责声明
本项目仅在受控实验室环境中进行,
仅用于教育和学习目的。
## 🏢 实习背景
本项目是我在 Cryptonic Area 网络安全实习期间完成的。
目标是通过以下方式培养安全研究员的思维模式:
- 识别漏洞
- 分析风险与影响
- 创建概念验证文档
- 提出修复策略
本项目加强了我对攻防安全概念的理解。
标签:API密钥检测, CISA项目, DVWA, meg, OPA, OpenVAS, OWASP Top 10, PHP, PoC, Web安全, XAMPP, 信息安全, 手工测试, 教育项目, 暴力破解, 漏洞分析, 网络安全, 蓝队分析, 路径探测, 身份绕过, 输入验证, 隐私保护, 靶场