sqlmap参数详解:
options(选项):
-h,–help 展示帮助文档参数
-hh 展示详细帮助文档 参数
–version show program’s version number and exit (展示程序的版本)
-v VERBOSE 详细级别:0-6 (默认为1)
Target(目标):
这些选项可以用来指定如何连接到目标URL
-d DIRECT 指定具体数据库
-u URL,–url=URL 目标URL
-I LOGFILE 解析目标从Burp或者WebScarab代理日志文件
-x SITEMAPURL 解析目标从远程站点的地图文件(.xml)
-m BULKFILE 扫描文本文件中给出的多个目标
-r REQUESTFILE 从本地文件加载HTTP请求,多用于post注入
-g GOOGLEDORK 处理Google的结果作为目标URL
-c CONFIGFILE 从INI配置文件中加载选项
Request(请求):
–method=METHOD 强制使用给定的http方法(post、get、put…)
–data=DATA 通过post发送的数据
–param-del=PARA… 用于拆分参数值的字符
–cookie=COOKIE 设置请求头Cookie参数的值
–cookie-del=COO… 用于分割cookie值的字符
–load-cookies=L… 包含Netscape / wget格式的cookie的文件
–drop-set-cookie 从响应中忽略Set-Cookie头
–user-agent=AGENT 指定请求头的UA
–random-agent 使用随机选定的UA
–host=HOST HTTP主机头值
–referer=REFERER 指定请求包Referer头
-H HEADER, --hea… 额外的header
–headers=HEADERS 额外的header
–auth-type=AUTH… HTTP认证类型(Basic, Digest, NTLM or PKI)
–auth-cred=AUTH… HTTP认证凭证(name:password)
–auth-file=AUTH… HTTP认证PEM认证/私钥文件
–ignore-401 忽略HTTP错误401
–proxy=PROXY 使用代理连接到目标网址
–proxy-cred=PRO… 代理认证证书(name:password)
–proxy-file=PRO… 从文件中加载代理列表
–ignore-proxy 忽略系统默认代理设置
–tor 使用Tor匿名网络
–tor-port=TORPORT 设置Tor代理端口而不是默认值
–tor-type=TORTYPE 设置Tor代理类型(HTTP (default), SOCKS4 or SOCKS5)
–check-tor 检查Tor是否正确使用
–delay=DELAY 每个HTTP请求之间的延迟(秒)
–timeout=TIMEOUT 超时连接前等待(默认30)
–retries=RETRIES 连接超时时重试(默认值3)
–randomize=RPARAM 随机更改给定参数的值(s)
–safe-url=SAFEURL 在测试期间频繁访问的URL地址
–safe-post=SAFE… POST数据发送到安全URL
–safe-req=SAFER… 从文件加载安全HTTP请求
–safe-freq=SAFE… 在两次访问给定安全网址之间测试请求
–skip-urlencode 跳过有效载荷数据的URL编码
–csrf-token=CSR… 参数用于保存anti-CSRF令牌
–csrf-url=CSRFURL 提取antiCSRF URL地址访问令牌
–force-ssl 强制使用SSL /HTTPS
–hpp 使用HTTP参数pollution的方法
–eval=EVALCODE 请求之前提供Python代码
Optimization(优化):
这些选项可用于优化sqlmap的性能
-o 开启所有优化开关
–predict-output 预测常见的查询输出
–keep-alive 使用持久的HTTP(S)连接
–null-connection 从没有实际的HTTP响应体中检索页面长度
–threads=THREADS 线程数
Injection(注入):
这些选项可以用来指定测试哪些参数, 提供自定义的注入payloads和可选篡改脚本
-p 测试的参数
–skip=SKIP 跳过对给定参数的测试
–skip-static 跳过测试不显示为动态的参数
–param-exclude=… 使用正则表达式排除参数进行测试
–dbms=DBMS 强制后端的DBMS为此值
–dbms-cred=DBMS… DBMS认证凭证(user:password)
–os=OS 强制后端的DBMS操作系统为这个值
–invalid-bignum 使用大数字使值无效
–invalid-string 使用随机字符串使值无效
–no-cast 关闭有效载荷铸造机制
–no-escape 关闭字符串转义机制
–prefix=PREFIX 注入payload字符串前缀
–suffix=SUFFIX 注入payload字符串后缀
–tamper=TAMPER 使用给定的脚本篡改注入数据
Detection(检测):
这些选项可以用来指定在SQL盲注时如何解析和比较HTTP响应页面的内容
–level=LEVEL 执行测试的等级(1-5,默认为1)
–risk=RISK 执行测试的风险(0-3,默认为1)
–string=STRING 查询时有效时在页面匹配字符串
–not-string=NOT… 当查询求值为无效时匹配的字符串
–regexp=REGEXP 查询时有效时在页面匹配正则表达式
–code=CODE 当查询求值为True时匹配的HTTP代码
–text-only 仅基于在文本内容比较网页
–titles 仅根据标题进行比较
Techniques(技巧):
这些选项可用于调整具体的SQL注入测试
–technique=TECH SQL注入技术测试(默认BEUST)
–time-sec=TIMESEC DBMS响应的延迟时间(默认为5秒)
–union-cols=UCOLS 定列范围用于测试UNION查询注入
–union-char=UCHAR 用于暴力猜解列数的字符
–union-from=UFROM 要在UNION查询SQL注入的FROM部分使用的表
–dns-domain=DNS… 域名用于DNS漏出攻击
–second-order=S… 生成页面的URL搜索为second-order响应
Fingerprint(指纹):
-f, --fingerprint 执行检查广泛的DBMS版本指纹
Enumeration(枚举):
这些选项可以用来列举后端数据库管理系统的信息、表中的结构和数据
-a, --all 检索一切
-b, --banner 检索数据库管理系统的标识
–current-user 检索数据库管理系统的当前用户
–current-db 检索数据库管理系统当前数据库
–hostname 检索数据库服务器的主机名
–is-dba 检测DBMS当前用户是否为DBA
–users 枚举数据库管理系统用户
–passwords 枚举数据库管理系统用户密码哈希
–privileges 枚举数据库管理系统用户的权限
–roles 枚举数据库管理系统用户的角色
–dbs 枚举数据库管理系统数据库
–tables 枚举的DBMS数据库中的表
–columns 枚举DBMS数据库表列
–schema 枚举数据库架构
–count 检索表的条目数
–dump 转储数据库管理系统的数据库中的表项
–dump-all 转储数据库管理系统的数据库中的所有表项
–search 搜索列,表和/或数据库名称
–comments 检索数据库的comments(注释、评论)
-D DB 要进行枚举的数据库名
-T TBL 要进行枚举的数据库表
-C COL 要进行枚举的数据库列
-X EXCLUDECOL 不进行枚举的数据库列
-U USER 用来进行枚举的数据库用户
–exclude-sysdbs 枚举表时排除系统数据库
–pivot-column=P… 主列名称
–where=DUMPWHERE 使用WHERE条件进行表转储
–start=LIMITSTART 第一个查询输出进入检索
–stop=LIMITSTOP 最后查询的输出进入检索
–first=FIRSTCHAR 第一个查询输出字的字符检索
–last=LASTCHAR 最后查询的输出字字符检索
–sql-query=QUERY 要执行的SQL语句
–sql-shell 提示交互式SQL的shell
–sql-file=SQLFILE 从给定文件执行SQL语句
Brute force(蛮力):
这些选项可以被用来运行蛮力检查
–common-tables 检查存在共同表
–common-columns 检查存在共同列
User-defined function injection(用户自定义函数注入:
这些选项可以用来创建用户自定义函数
–udf-inject 注入用户自定义函数
–shared-lib=SHLIB 共享库的本地路径
File system access(访问文件系统):
这些选项可以被用来访问后端数据库管理系统的底层文件系统
–file-read=RFILE 从后端的数据库管理系统文件系统读取文件
–file-write=WFILE 编辑后端的数据库管理系统文件系统上的本地文件
–file-dest=DFILE 后端的数据库管理系统写入文件的绝对路径
Operating 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 Framework本地的安装路径
–tmp-path=TMPPATH 远程临时文件目录的绝对路径
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注册表项值类型
General(一般):
这些选项可以用来设置一些一般的工作参数
-s SESSIONFILE 保存和恢复检索会话文件的所有数据
-t TRAFFICFILE 记录所有HTTP流量到一个文本文件中
–batch 从不询问用户输入,使用所有默认配置。
–binary-fields=… 具有二进制值的结果字段
–charset=CHARSET 强制用于数据检索的字符编码
–crawl=CRAWLDEPTH 从目标网址开始抓取网站
–crawl-exclude=… 正则表达式排除网页抓取
–csv-del=CSVDEL 分隔CSV输出中使用的字符
–dump-format=DU… 转储数据的格式
–eta 显示每个输出的预计到达时间
–flush-session 刷新当前目标的会话文件
–forms 在目标网址上解析和测试表单
–fresh-queries 忽略在会话文件中存储的查询结果
–hex 使用DBMS hex函数进行数据检索
–output-dir=OUT… 自定义输出目录路径
–parse-errors 解析和显示响应中的DBMS错误消息
–save=SAVECONFIG 保存选项到INI配置文件
–scope=SCOPE 使用正则表达式从提供的代理日志中过滤目标
–test-filter=TE… 根据有效负载和/或标题(e.g. ROW)选择测试
–test-skip=TEST… 根据有效负载和/或标题跳过测试(e.g. BENCHMARK)
–update 更新SqlMap
Miscellaneous(杂项):
-z 使用简短的助记符
–alert=ALERT 在找到SQL注入时运行主机操作系统命令–answers=ANSWERS 设置问题答案
–beep 发现SQL注入时提醒
–cleanup 清理DBMS具体的UDF和表
–dependencies 检查是否缺少(非内核)sqlmap依赖关系
–disable-coloring 禁用控制台输出颜色
–gpage=GOOGLEPAGE 使用Google dork结果指定页码
–identify-waf 对WAF / IPS / IDS保护进行全面测试
–skip-waf 跳过启发式检测WAF / IPS / IDS保护
–mobile 通过HTTP User-Agent标头模仿智能手机
–offline 在离线模式下工作(仅使用会话数据)
–page-rank 结果显示网页排名(PR)
–purge-output 安全地从输出目录中删除所有内容
–smart 只有在正启发式时才进行彻底测试
–sqlmap-shell 提示交互式sqlmap shell
–wizard 给初级用户的简单向导界面