sqlmap的基本使用
Sqlmap是一款开源的渗透测试工具,用于自动化检测和利用SQL注入漏洞。它支持各种数据库(如MySQL,Oracle,MS SQL Server,PostgreSQL等),可以检测和利用注入漏洞,以获取数据库中的数据,包括用户凭据、敏感数据和后端应用程序的源代码。Sqlmap可以通过一系列设置和参数进行自动化测试和攻击,同时它也提供了交互式的控制台界面,供用户手动操作。Sqlmap的功能强大,是渗透测试人员必备的工具之一
-
-u:指定目标URL进行注入测试
例如:sqlmap -u http://www.example.com/index.php?id=1
-
–dbs:列出目标url的数据库名
例如:sqlmap -u http://www.example.com/index.php?id=1 --dbs
-
-D:指定数据库名
例如:sqlmap -u http://www.example.com/index.php?id=1 -D test -- tables
-
–tables:列出数据库中的所有表
例如:sqlmap -u http://www.example.com/index.php?id=1 --tables
-
–columns:列出指定表中的所有列
例如:sqlmap -u http://www.example.com/index.php?id=1 --columns -T users
-
–dump:将指定表中的所有数据导出为文本
例如:sqlmap -u http://www.example.com/index.php?id=1 --dump -T users
-
–level:指定注入测试时的等级,支持从1到5级
例如:sqlmap -u http://www.example.com/index.php?id=1 --level=3
-
–risk:指定注入测试时的风险等级,支持从1到3级
例如:sqlmap -u http://www.example.com/index.php?id=1 --risk=2
-
-b:指定目标应用程序的后端数据库管理系统的版本
例如:sqlmap -u http://www.example.com/index.php?id=1 -b
-
–os:指定目标操作系统类型
例如:sqlmap -u http://www.example.com/index.php?id=1 --os=Windows
-
–time-sec:设置测试时请求的超时时间
例如:sqlmap -u http://www.example.com/index.php?id=1 --time-sec=10
-
-v:开启详细模式,输出更为详细的测试信息
例如:sqlmap -u http://www.example.com/index.php?id=1 -v
常见指令:
–random-agent 选择随机user-agents头
–delay=1 每次探测延时1秒(防止访问过快被ban)
–count 查看数据量
–is-dba 查询当前用户权限,如果dba是True可以尝试直接拿webshell
–os-shell 尝试往网站中放入一个cmdshell(就是拥有cmd权限的shell),先选择写入shell的脚步语言,有的需要填写网站的web目录的绝对路径,有的可以直接选择好shell的脚本语言类型就可以直接拿shell
–flush-session 删除缓存