udaybhale/sql-injection-labs-part1
GitHub: udaybhale/sql-injection-labs-part1
一个SQL注入入门实验教程,通过四种不同注入向量演示身份验证绕过技术,配合Burp Suite实操帮助学习者理解Web安全漏洞原理。
Stars: 0 | Forks: 0
📌 1. 标题
# SQL 注入实验 – 第 1 部分(身份验证绕过)
📖 2. 概述
简单解释:
什么是 SQL 注入
为什么会发生
你在这个实验中做了什么
示例:
本仓库演示了在易受攻击的 Web 应用程序上进行的实际 SQL 注入攻击。重点在于使用不同的输入向量(包括表单输入、URL 参数和 POST 请求)绕过身份验证。
涵盖的技术:
- 整数型 SQL 注入
- 字符串型 SQL 注入
- GET (URL) 注入
- 使用 Burp Suite 进行 POST 注入
⚙️ 3. 漏洞解释
在此添加你的概念(你已经写过了,只需整理):
动态查询
无输入验证
字符串拼接
🔥 4. 身份验证绕过概念
解释此 Payload:
' OR 1=1-- -
分解说明:
' → 闭合字符串
OR 1=1 → 始终为真
-- - → 注释掉剩余部分
👉 这表明你理解了原理,而不仅仅是复制。
🧪 5. 实验 1 – 整数型注入
Payload:
1 or 1=1-- -
解释:
输入期望整数
不需要引号
条件变为 TRUE
截图:


🧪 6. 实验 2 – 字符串型注入
Payload:
1' or '1'='1'-- -
解释:
输入期望字符串
需要使用 ' 中断查询
截图:


🌐 7. 实验 3 – URL 注入 (GET)
Payload:
-1' or 1=1-- -
示例:
http://target/login?profileID=-1' or 1=1-- -&password=a
关键概念:
URL 编码 (%27, %20)
绕过客户端验证
截图:



🛰️ 8. 🛰️ 实验 4 – POST 注入 (Burp Suite)
使用工具:
Burp Suite
Payload:
1' or '1'='1'-- -
步骤:
使用 Burp Suite 拦截登录请求
捕获 POST 请求
使用 Payload 修改 profileID 参数
将请求转发到服务器
成功绕过身份验证
截图:



⚠️ 9. 关键收获
这样写:
- 客户端验证可以被绕过
- 未经过滤的输入会导致 SQL 注入
- 身份验证机制很容易被破坏
- Burp Suite 对于请求操纵非常有效
🛡️ 10. 预防措施
这部分对于面试非常重要
- 使用 Prepared Statements (参数化查询)
- 验证并过滤用户输入
- 使用 ORM 框架
- 对数据库用户应用最小权限原则
- 避免动态查询拼接
💡 11. 额外内容(可选但很强大)
添加:
## 使用的工具
- Burp Suite
- Browser DevTools
- Vulnerable Lab Environment
标签:API密钥检测, Burp Suite, CISA项目, GET注入, OWASP Top 10, POST注入, Web安全, 多线程, 字符型注入, 安全实验室, 安全演示, 手动注入, 攻击载荷, 整型注入, 漏洞攻防, 白帽黑客, 网络安全, 蓝队分析, 身份验证绕过, 输入验证, 隐私保护