sqlmap新手教程
sqlmap常用命令
--technique=B/E/U/S/T 指定sql注入的类型
B:布尔盲注
E:报错型注入
U:联合查询注入
S:多语句查询注入
T:时间盲注
--dbms 指定数据
如Microsoft Access, Microsoft SQL Server, MimerSQL, MonetDB, MySQL, Oracle, Percona, PostgreSQ
-D 指定数据库
-T 选择表
-C 选择字段
--dbs 列出全部数据库名字
--dump列出字段内容
--current-db 查询当前数据库名
--current-user 检测当前用户
--is-dba检测当前用户是否为管理员
-v 共有0-6级
0:只显示Python的回溯,错误和关键消息。
1:显示信息和警告消息。
2:显示调试消息。
3:有效载荷注入。
4:显示HTTP请求。
5:显示HTTP响应头。
6:显示HTTP响应页面的内容
--tables获取表名
--columns获取字段名
--users列数据库所有用户
--batch 永远不要要求用户输入,使用默认行为
--threads 采用多线程
--risk:风险等级,共有4个,默认是1会测试大部分的测试语句,2会增加基于事件的测试语句,3会增加OR语句的SQL注入测试。
level:共有五个等级,默认为1,在你不确定哪个payload或者参数为注入点的时候,为了保证全面性,建议使用高的level值。
当使用第5级时,处于测试最高级别,包含的payload最多,测试参数更复杂,会自动破解出cookie、XFF等头部注入,相对应他的速度也比较慢。这里说的速度是完成任务的速度,而非网站的访问速度。
sqlmap使用流程
进入sqlmap的文件夹,按住Ctrl键,然后按住右键,打开终端,输入python sqlmap.py运行sqlmap
输入
python sqlmap.py -u "http://localhost/Less-1/?id=1"
进行扫描
查询出有布尔盲注,报错型注入,时间盲注,联合查询注入
使用报错型注入查询当前连接数据库
查询出数据库名为"security"
指定security数据库查询全部表
指定users表,查询全部字段
接下来查询password字段的全部内容
也可以直接查询出users表的全部内容
POST类型注入
将抓包的内容放到一个txt文件中
然后输入指令
python sqlmap.py -r 1.txt --batch