SQLMAP参数介绍

sqlmap的使用方式:python sqlmap.py [options];

sqlmap中一共有以下十六个选项卡:

  1. 帮助选项卡;
  2. Target(目标选项卡);
  3. Request(请求选项卡);
  4. Optimization(优化选项卡);
  5. Injection(注射选项卡);
  6. Detection(探测选项卡);
  7. Techniques(注入技术选项卡);
  8. Fingerprint(指纹选项卡);
  9. Enumeration(列数据选项卡);
  10. Brute force(爆破选项卡);
  11. User-defined function injection(用户自定义函数注入选项卡);
  12. File system access(系统文件操作选项卡);
  13. Operation system access(操作系统访问选项卡);
  14. Windows registry access(Windows注册表选项卡);
  15. General(一般选项卡);
  16. Miscellaneous(杂项);

1、帮助选项卡

  • -h,    –help                               显示基础的帮助信息并退出;
  • -hh                                              显示进一步的帮助信息并退出;
  • –version                                  显示程序的版本并退出;
  • -v  VERBOSE                           详细级别:0-6(默认为1);

2、Target(目标选项卡):在这些选项卡中至少有一个要设置目标

  • -d  DIRECT                               直接连接到数据库;
  • -u  URL, –url=URL               目标URL;
  • -l    LOGFILE                            从Burp或者WebScarab代理中解析目标;
  • -m  BULKFILE                        在一个给定的文本文件中扫描目标;
  • -r   REQUESTFILE                 从文件中加载HTTP 请求 ;
  • -g   GOOGLEDORK                 利用GOOGLEDORK获取目标URL;
  • -c   CONFIGFILE                    从配置INI文件中加载选项;

3、Request(请求选项卡):这些选项可以用来指定如何连接到目标URL。

  •  –data=DATA                         通过POST发送数据串;

  • –param-del=PDEL               字符用于分割的参数值(当GET或POST的数据需要用其他字符分割测试参数的时候需要用到此参数。);
  • –cookie=COOKIE                  HTTP Cookie 头;
  • –cookie-del=CDEL               字符用于分裂的cookie值;
  • –load-cookies=L..                在Netscape/ wget格式的文件中包含cookie;
  • –drop-set-cookie                  忽略Set-Cookie头响应;
  • –user-agent=AGENT            HTTP User-Agent 头;
  • –random-agent                      使用随机选择HTTP User-Agent头;
  • –host=HOST                             HTTP Host 头;
  • –referer=REFERER               HTTP Referer 头;
  • –headers=HEADERS            额外的头文件(如: ”Accept-Language: fr\nETag: 123″);
  • –auth-type=AUTH..             HTTP身份验证类型 (Basic, Digest, NTLM 或者 PKI);
  • –auth-cred=AUTH..             HTTP身份验证凭据 (name:password);
  • –auth-private=A..                 HTTP认证PEM私钥文件;
  • –proxy=PROXY                    使用代理服务器连接到目标URL;
  • –proxy-cred=PRO..             代理身份验证凭据 (name:password);
  • –proxy-file=PRO..                从文件加载代理列表;
  • –ignore-proxy                       忽略系统默认的代理设置;
  • –tor                                             使用Tor的匿名网络;
  • –tor-port=TORPORT           设置默认以外的Tor代理端口;
  • –tor-type=TORTYPE           设置Tor代理类型 (HTTP (默认), SOCKS4 或者 SOCKS5);
  • –check-tor                               检查Tor是否正确使用;
  • –delay=DELAY                      每个HTTP请求之间的延迟秒;
  • –timeout=TIMEOUT            等待超时连接(默认为30秒);
  • –retries=RETRIES                 尝试连接超时(默认为3);
  • –randomize=RPARAM        随意改变给定的参数值;
  • –safe-url=SAFURL                在测试过程中经常访问的URL地址;
  • –safe-freq=SAFREQ              在两次访问之间提供安全URL的请求;
  • –skip-urlencode                     跳过URL编码的有效载荷数据;
  • –force-ssl                                  强制使用SSL/ HTTPS;
  • –hpp                                            使用HTTP参数污染;
  •  –eval=EVALCODE                在每次请求时根据所写python代码做完修改后请求。

4、Optimization(优化选项卡):这些选项可以用来优化SqlMap的性能

  • -o                                                   打开所有优化开关;
  • –predict-output                     常见的查询输出预测;
  • –keep-alive                              使用持久HTTP(S)连接;
  • –null-connection                  没有实际的HTTP响应的检索页面长度;
  • –threads=THREADS            并发的HTTP(S)请求的最大数量(默认为1)。

5、Injection(注射选项卡):这些选项可以用来指定对哪些参数测试,提供一般的注入方式和可选可修改的脚本注入

  • -p  TESTPARAMETER          可测试的参数;
  • –skip=SKIP                              跳过给定的参数;
  • –dbms=DBMS                        指定数据库类型;
  • –dbms-cred=DBMS..           数据库身份验证凭据(user:password);
  • –os=OS                                      指定数据库的操作系统;
  • –invalid-bignum                   指定无效的大数字;
  • –invalid-logical                     指定无效的逻辑运算;
  • –no-cast                                    关闭payload构造机制;
  • –no-escape                              关闭字符逃避机制;
  • –prefix=PREFIX                    注射前缀字符串payload;
  • –suffix=SUFFIX                     注射后缀字符串payload;
  • –tamper=TAMPER               使用给定的脚本修改注入的数据。

6、Detection(探测选项卡):这些选项可以用来定制检测阶段

  • –level=LEVEL                         测试的等级(1-5,默认为1);
  • –risk=RISK                               测试的风险等级(0-3,默认为1);
  • –string=STRING                     字符串匹配查询时被评估为True;
  • –not-string=NOT..                 字符串匹配查询时被评估为False;
  • –regexp=REGEXP                  正则表达式匹配查询时被评估为True;
  • –code=CODE                            HTTP代码以匹配查询时被评估为True;
  • –text-only                                 只基于文本的内容的页面的对比;
  • –titles                                          只基于Title的内容的对比。

7、Techniques(注入技术选项卡):这些选项可以用来调整特定的SQL注入测试

  • –technique=TECH                  使用SQL注入技术 (默认是”BEUSTQ”);
  • –time-sec=TIMESEC              DBMS响应延迟(默认为5秒);
  • –union-cols=UCOLS               SQL注入UNION查询测试的列的范围;
  • –union-char=UCHAR            设定UNION查询使用的字符;
  • –union-from=UFROM           (需要更新);
  • –dns-domain=DNS..               用于域名DNS溢出攻击;
  • –second-order=S..                  有些时候注入点输入的数据看返回结果的时候并不是当前的页面,而是另外的一个页面,这时候就需要指定到哪个页面获取响应判断真假。

8、Fingerprint(指纹选项卡)

  • -f,  –fingerprint                         演示广泛的DBMS版本指纹。

9、Enumeration(列数据选项卡):这些选项可以用来枚举数据库管理系统的信息、结构和数据表,还可以运行自己的SQL语句

  • -a, –all                                           枚举所有;
  • -b, –banner                                 检索DBMS 的banner信息;
  • –current-user                            检索DBMS 的当前用户;
  • –current-db                                检索DBMS 的当前数据库;
  • –hostname                                  检索DBMS 的服务器的主机名;
  • –is-dba                                          检测当前用户是否是DBA;
  • –users                                            枚举DBMS用户;
  • –passwords                                 枚举DBMS用户密码哈希;
  • –privileges                                   枚举DBMS用户权限;
  • –roles                                             枚举DBMS用户角色;
  • –dbs                                                枚举DBMS数据库;
  • –tables                                           枚举DBMS数据库表;
  • –columns                                      枚举的DBMS数据库表和列
  • –schema                                        枚举DBMS模式;
  • –count                                            检索表的数目;
  • –dump                                            转储DBMS数据库表项;
  • –dump-all                                     转储所有的DBMS数据库表条目;
  • –search                                          搜索列,表和\或数据库名称;
  • –comments                                  检索DBMS意见;
  • -D DB                                                指定DBMS数据库枚举;
  • -T TBL                                              指定DBMS数据库的表枚举;
  • -C COL                                              指定DBMS数据库的列枚举;
  • -U USER                                          指定DBMS用户枚举;
  • –exclude-sysdbs                        在枚举表时排除DBMS系统数据库;
  • –start=LIMITSTART                指定输出的开始;
  • –stop=LIMITSTOP                    指定输出的结束;
  • –first=FIRSTCHAR                    指定输出的开始的字符;
  • –last=LASTCHAR                       指定输出的开始的结束;
  • –sql-query=QUERY                   要执行的SQL语句;
  • –sql-shell                                        提示一个交互式SQL shell;
  • –sql-file=SQLFILE                      从给定的文件中执行SQL语句。

10、Brute force(爆破选项卡):这些选项可以用来运行暴力检查

  • –common-tables                         检查存在的通用表;
  • –common-columns                    检查存在的通用列。

11、User-defined function injection(用户自定义函数注入选项卡):这些选项可以用来创建用户自定义功能

  • –udf-inject                                      注入用户自定义功能;
  •  –shared-lib=SHLIB                    本地的共享库的路径。

12、File system access(系统文件操作选项卡):这些选项可以被用于访问后端数据库管理系统相关的文件系统

  • –file-read=RFILE                        从后端的DBMS文件系统中读取文件;
  • –file-write=WFILE                      在后端的DBMS文件系统中写一个本地文件;
  • –file-dest=DFILE                         后端DBMS绝对文件路径写入。

13、Operation system access(操作系统访问选项卡):这些选项可以被用于访问后端数据库管理系统相关的操作系统

  • –os-cmd=OSCMD                         执行操作系统命令;
  • –os-shell                                          提示交互式操作系统shell;
  • –os-pwn                                           为OOB shell, meterpreter 或 VNC提示输入;
  • –os-smbrelay                                 单击为OOB shell, meterpreter 或 VNC提示输入;
  • –os-bof                                             存储过程缓冲区溢出;
  • –priv-esc                                          数据库进程的用户特权升级;
  • –msf-path=MSFPATH                本地安装Metasploit的框架路径;
  • –tmp-path=TMPPATH               远程临时文件目录的绝对路径。

14、Windows registry access(Windows注册表选项卡):这些选项可以用来访问后端数据库管理系统Windows注册表

  • –reg-read                                          读取一个Windows注册表项值;
  • –reg-add                                            编写一个Windows注册表项值数据;
  • –reg-del                                             删除Windows注册表键值;
  • –reg-key=REGKEY                        Windows注册表键;
  • –reg-value=REGVAL                    Windows注册表键值;
  • –reg-data=REGDATA                   Windows注册表的键值项数据;
  • –reg-type=REGTYPE                    Windows注册表键的值类型。

15、General(一般选项卡):这些选项可以用来设置一些一般性的工作参数

  • -s SESSIONFILE                              从一个存储文件中加载会话;
  • -t TRAFFICFILE                              记录所有HTTP流量到一个文本文件中;
  • –batch                                                不要求用户输入,使用默认的行为
  • –charset=CHARSET                      使用字符编码数据检索
  • –crawl=CRAWLDEPTH                从目标网站抓取URL;
  • –csv-del=CSVDEL                          使用字符分隔对CSV输出(默认为“,”);
  • –dump-format=DU..                     dump的数据格式(CSV(默认),HTML或SQLite);
  • –eta                                                      每个输出显示的预计抵达时间;
  • –flush-session                                  清除当前目标的会话文件;
  • –forms                                                 目标URL解析和测试形式;
  • –fresh-queries                                  将忽略的查询结果存储在会话文件;
  • –hex                                                     使用DBMS十六进制数据检索功能;
  • –output-dir=ODIR                          自定义输出的目录路径;
  • –parse-errors                                   将响应DBMS错误消息解析并显示;
  • –pivot-column=P..                         关键列名;
  • –save                                                    配置INI文件保存选项;
  • –scope=SCOPE                                 正则表达式来过滤目标提供的代理日志;
  • –test-filter=TE..                               选择测试的有效的payload;
  • –update                                               更新SQLMAP。

16、Miscellaneous(杂项)

  •  -z MNEMONICS                               使用短助记符;

  • –alert=ALERT                                  当发现SQL注入时运行主机操作系统命令;
  • –answers=ANSWERS                     设置问题答案;
  • –beep                                                    发现SQL注入时做一个蜂鸣声;
  • –check-waf                                         启发式检查WAF/ IPS / IDS保护;
  • –cleanup                                              清理SqlMap中DBMS的特定UDF和表;
  • –dependencies                                 检查缺失的SqlMap依赖;
  • –disable-coloring                            禁用控制台输出着色;
  • –gpage=GOOGLEPAGE                 使用Google搜索结果的指定页码;
  • –identify-waf                                     为WAF/ IPS / IDS保护做一个通过测试;
  • –mobile                                               模仿智能手机通过HTTP User-Agent头;
  • –page-rank                                          对google搜索的结果显示网页的PR值;
  • –purge-output                                  安全删除所有内容的输出目录;
  • –smart                                                  只对知道的启发式进行测试;
  • –wizard                                                 初级用户的简单的向导界面。