Sqlmap常规使用
基本参数
常规
| 参数 | 解释 |
|---|
| -h,–help | 显示基本帮助信息并退出 |
| –version | 显示程序版本信息并退出 |
| -u ,–url | 目标URL(get请求注入,直接使用该参数) |
| -r REQUESTFILE | 一个文本文件中获取HTTP请求,这样就可以跳过设置一些其他参数(比如cookie,POST数据,等等),请求是HTTPS的时需要配合这个–force-ssl参数来使用,或者可以在Host头后门加上:443 |
| –cookie=COOKIE | HTTP Cookieheader 值 |
| –user-agent=AGENT | 设置HTTP请求头,同时也可以使用–random-agent参数来随机的从./txt/user-agents.txt中获取。当–level参数设定为3或者3以上的时候,会尝试对User-Angent进行注入 |
| –referer=REFERER | 在请求中伪造HTTP中的referer,当–level参数设定为3或者3以上的时候会尝试对referer注入 |
| –headers=HEADERS | 可以通过–headers参数来增加额外的http头 |
| –delay=DELAY | 可以设定两个HTTP(S)请求间的延迟,设定为0.5的时候是半秒,默认是没有延迟的 |
| 参数 | 解释 |
|---|
| -f, --fingerprint | 执行广泛的DBMS版本指纹检查 |
| –mobile | 设定一个手机的User-Agent来模仿手机登陆 |
| –level=LEVEL | 执行测试的等级(1-5,默认为1) |
| –string=STRING | 查询时有效时在页面匹配字符串 |
优化
| 参数 | 解释 |
|---|
| -o | 打开所有的优化开关 |
| –predict-output | 预测普通查询输出 |
| –keep-alive | 使用持久HTTP(S)连接 |
| –null-connection | 获取页面长度 |
| –threads=THREADS | 当前http(s)最大请求数 (默认 1) |
| –timeout=TIMEOUT | 可以设定一个HTTP(S)请求超过多久判定为超时,10表示10秒,默认是30秒。 |
| –retries=RETRIES | 当HTTP(S)超时时,可以设定重新尝试连接次数,默认是3次。 |
| –regexp=REGEXP | 查询时有效时在页面匹配正则表达式 |
枚举
| 参数 | 解释 |
|---|
| -a, --all | 获取所有信息 |
| -b, --banner | 获取数据库管理系统的标识 |
| –current-user | 获取数据库管理系统当前用户 |
| –privileges | 枚举数据库管理系统用户的权限 |
| –hostname | 获取数据库服务器的主机名称 |
| –is-dba | 检测DBMS当前用户是否DBA |
| –passwords | 枚举数据库管理系统用户密码哈希 |
| –dump | 转储数据库表项 |
| –count | 检索表的项目数 |
| 参数 | 解释 |
|---|
| –dbs | 枚举数据库管理系统数据库 |
| -D DBName | 要进行枚举的指定数据库名 |
| –tables | 枚举的DBMS数据库中的表 |
| -T TableName | DBMS数据库表枚举 |
| –columns | 枚举DBMS数据库表列 |
| -C ColumnName,ColumnName | DBMS数据库表列枚举 |
操作系统访问
| 参数 | 解释 |
|---|
| –os-cmd=OSCMD | 执行操作系统命令(OSCMD) |
| –os-shell | 交互式的操作系统的shell |
| –os-pwn | 获取一个OOB shell,meterpreter或VNC |
| –os-smbrelay | 一键获取一个OOBshell,meterpreter或VNC |
| –priv-esc | 数据库进程用户权限提升 |
Windows注册表访问
| 参数 | 解释 |
|---|
| –reg-read | 读一个Windows注册表项值 |
| –reg-add | 写一个Windows注册表项值数据 |
| –reg-del | 删除Windows注册表键值 |
脚本
--tamper 脚本名称 脚本名称
| 脚本名称 | 作用 |
|---|
| randomcomments.py | 用/**/分割sql关键字 |
| base64encode.py | 用base64编码替换 |
| apostrophenulencode.py | 绕过过滤双引号,替换字符和双引号 |
| between.py | 用between替换大于号(>) |
| randomcase.py | 随机大小写 |
| versionedmorekeywords.py | 注释绕过 |
| charencode.py | url编码 |
| space2mssqlhash.py | 替换空格 |
| apostrophemask.py | 用utf8代替引号 |
sqlmap的常用tamper脚本
sqlmap --tamper 绕过WAF脚本分类整理
常规用法
GET注入
sqlmap -u URL --cookie="COOKIE" --banner --dbs --batch
POST注入
sqlmap -u URL --data="DATA" --cookie="COOKIE" --banner --dbs --batch -o
sqlmap -r post.txt
Sqlmap攻略及技巧分享