• sqlmap中文文档


    这是 sqlmap -hh的翻译,后续可能会对参数进行详细的示例

    sqlmap

    普通选项

    -h, --help		# 显示基本帮助信息并退出
    -hh				# 详细帮助信息
    --versino		# 版本
    -v				# 日志详细级别 0-6
    	0:只显示python错误以及严重的信息。
        1:同时显示基本信息和警告信息。(默认)
        2:同时显示debug信息。
        3:同时显示注入的payload。
        4:同时显示HTTP请求。
        5:同时显示HTTP响应头。
        6:同时显示HTTP响应页面。
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    Target 目标

    • 必须提供这些选项中的至少一个来定义
    -u 		# 指定目标url(e.g. "http://www.site.com/vuln.php?id=1")
    -d		# 给定数据库连接字符串,类似:mysql://root:root@127.0.0.1/test
    -l		# 从Burp或WebScarab代理日志文件分析目标
    -m		# 扫描文本文件中给定的多个目标
    -r		# 从文件加载HTTP请求
    -g		# 将google的结果处理为目标urls
    -c		# 从配置INI文件加载选项
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    Request 请求

    • 这些选项可用于指定如何连接到目标URL
    -A 		# 指定user-agent
    -H		# 指定请求头,可指定多个"X-Forwarded-For: 127.0.0.1"
    --headers="a: 1\nb: 2"	# 指定多个请求头
    --host=HOST		# 指定host值
    --referer=‘’	# 指定referer值
    --method=PUT 	# 指定请求方法
    --data='id=1'	# 发送post数据
    --param-del=&# 用于拆分参数值的字符
    --cookie=‘a=b’	# 指定cookie
    --cookie-del=;# 差分cookie键值的分割符
    --live-cookies=L # 包含Netscapet 格式 cookie 的文件
    --drop-set-cookie	# 从响应中忽略Set-Cookie头
    --mobile		# 通过代理头模拟手机端
    --random-agent	# 随机代理头
    --auth-type=AUTH	# http身份验证类型
    --auth-cred=AUTH	# HTTP身份验证凭据(名称:密码)
    --auth-file=AUTH	# HTTP身份验证PEM证书/私钥文件
    --abort-code=ABO	# 中止(有问题)HTTP错误代码(例如401)
    --ignore-code=IG	# 忽略(有问题的)HTTP错误代码(例如401)
    --ignore-proxy		# 忽略系统默认代理设置
    --ignore-redirects	# 忽略重定向尝试
    --ignore-timeouts	# 忽略连接超时
    --proxy=‘http://127.0.0.1:8080’		# 使用代理扫描url
    --proxy-cred=PRO	# 代理身份验证凭据(名称:密码)
    --proxy-file=PRO	# 从文件加载代理列表
    --proxy-freq=PRO	# 从给定列表更改代理之间的请求
    --tor				# 使用Tor匿名网络
    --check-tor       	# 检查Tor是否正确使用
    --delay=1     		# 每个HTTP请求之间的延迟(秒)
    --timeout=1		 	# 连接超时前等待的秒数(默认值为30)
    --retries=3		 	# 连接超时时重试(默认为3)
    --retry-on=RETRYON	# 重试regexp匹配内容的请求(例如“drop”)
    --randomize=RPARAM	# 随机更改给定参数的值
    --safe-url=SAFEURL	# 测试期间经常访问的URL地址
    --safe-post=SAFE..	# 要发送到安全URL的POST数据
    --safe-req=SAFER..	# 从文件加载安全HTTP请求
    --safe-freq=SAFE..	# 访问安全URL之间的定期请求
    --skip-urlencode  	# Skip有效负载数据的URL编码
    --csrf-token=CSR..	# 用于持有反CSRF令牌的参数
    --csrf-url=CSRFURL	# 用于提取反CSRF令牌的访问URL地址
    --csrf-method=CS..	# 在反CSRF令牌页面访问期间使用的HTTP方法
    --csrf-data=CSRF..	# 访问反CSRF令牌页面期间要发送的POST数据
    --csrf-retries=C..	# 重试反CSRF令牌检索(默认为0)
    --force-ssl       	# 强制使用SSL/HTTPS
    --chunked         	# 使用HTTP分块传输编码(POST)请求
    --hpp             	# 使用HTTP参数污染方法
    --eval=EVALCODE   	# 在请求之前评估提供的Python代码(e.g."import hashlib;id2=hashlib.md5(id).hexdigest()")
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47

    Optimization 优化

    • 这些选项可用于优化sqlmap的性能
    -o                  # 打开所有优化开关
    --predict-output    # 预测常见查询输出
    --keep-alive        # 使用持久HTTP连接
    --null-connection   # 检索没有实际HTTP响应正文的页面长度
    --threads=THREADS   # 并发HTTP请求的最大数目(默认为1)
    
    • 1
    • 2
    • 3
    • 4
    • 5

    Injection 注入

    这些选项可用于指定要测试的参数,提供自定义注入有效负载和可选的篡改脚本

    -p TESTPARAMETER    # 测试参数
    --skip=SKIP         # 跳过对指定参数的测试
    --skip-static       # 跳过对看似非动态的参数的测试
    --param-exclude=..  # 正则表达式,用于排除测试中的参数(例如,"ses" 表示排除参数名称包含 "ses" 的参数)
    --param-filter=P..  # 按位置选择可测试的参数(例如,"POST" 表示选择POST请求的参数)
    --dbms=DBMS         # 强制后端DBMS使用提供的值
    --dbms-cred=DBMS..  # DBMS身份验证凭据(用户:密码)
    --os=OS             # 强制后端DBMS操作系统使用提供的值
    --invalid-bignum    # 使用大数字来使值无效
    --invalid-logical   # 使用逻辑运算来使值无效
    --invalid-string    # 使用随机字符串来使值无效
    --no-cast           # 关闭负载转换机制
    --no-escape         # 关闭字符串转义机制
    --prefix=PREFIX     # 注入负载前缀字符串
    --suffix=SUFFIX     # 注入负载后缀字符串
    --tamper=TAMPER     # 使用给定的脚本来篡改注入数据
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    Detection 发现

    • 这些选项可用于自定义检测阶段
    --level=LEVEL       # 执行测试的级别(1-5,默认为1)
    --risk=RISK         # 执行测试的风险级别(1-3,默认为1)
    --string=STRING     # 当查询计算为真时要匹配的字符串
    --not-string=NOT..  # 当查询计算为假时要匹配的字符串
    --regexp=REGEXP     # 当查询计算为真时要匹配的正则表达式
    --code=CODE         # 当查询计算为真时要匹配的HTTP状态码
    --smart             # 仅在存在正面的启发式(s)时执行彻底的测试
    --text-only         # 仅基于文本内容比较页面
    --titles            # 仅基于页面标题比较页面
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    Techniques 方法

    • 这些选项可用于调整特定SQL注入的测试
    --technique=TECH..  # 要使用的SQL注入技术(默认为 "BEUSTQ")
    --time-sec=TIMESEC  # 延迟DBMS响应的秒数(默认为5)
    --union-cols=UCOLS  # 用于测试UNION查询SQL注入的列范围
    --union-char=UCHAR  # 用于列数量穷举的字符
    --union-from=UFROM  # 用于UNION查询SQL注入中FROM部分的表
    --dns-domain=DNS..  # 用于DNS外泄攻击的域名
    --second-url=SEC..  # 搜索第二次响应的结果页面URL
    --second-req=SEC..  # 从文件加载第二次HTTP请求
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    Fingerprint 指纹

    -f, --fingerprint   # 执行详细的DBMS版本指纹识别
    
    • 1

    Enumeration 列举

    • 这些选项可用于枚举表中包含的后端数据库管理系统信息、结构和数据
    -a, --all           # 检索所有信息
    -b, --banner        # 检索DBMS标识
    --current-user      # 检索DBMS当前用户
    --current-db        # 检索DBMS当前数据库
    --hostname          # 检索DBMS服务器主机名
    --is-dba            # 检测DBMS当前用户是否为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注释
    --statements        # 检索在DBMS上运行的SQL语句
    -D DB               # 要枚举的DBMS数据库
    -T TBL              # 要枚举的DBMS数据库表
    -C COL              # 要枚举的DBMS数据库表列
    -X EXCLUDE          # 不要枚举的DBMS数据库标识符
    -U USER             # 要枚举的DBMS用户
    --exclude-sysdbs    # 在枚举表时排除DBMS系统数据库
    --pivot-column=P..  # 旋转列名称
    --where=DUMPWHERE   # 在表转储时使用WHERE条件
    --start=LIMITSTART  # 检索的第一个表条目
    --stop=LIMITSTOP    # 检索的最后一个表条目
    --first=FIRSTCHAR   # 要检索的第一个查询输出词字符
    --last=LASTCHAR     # 要检索的最后一个查询输出词字符
    --sql-query=SQLQ..  # 要执行的SQL语句
    --sql-shell         # 提示输入交互式SQL shell
    --sql-file=SQLFILE  # 从给定文件执行SQL语句
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36

    Brute force 爆破

    • 这些选项可用于运行暴力检查
    --common-tables     # 检查常见表的存在
    --common-columns    # 检查常见列的存在
    --common-files      # 检查常见文件的存在
    
    • 1
    • 2
    • 3

    User-defined function injection 用户定义的功能注入

    • 这些选项可用于创建自定义的用户定义函数
    --udf-inject        # 注入自定义用户定义的函数
    --shared-lib=SHLIB  # 共享库的本地路径
    
    • 1
    • 2

    File system access(文件系统访问)

    --file-read=FILE..  # 从后端DBMS文件系统读取文件
    --file-write=FIL..  # 在后端DBMS文件系统上写入本地文件
    --file-dest=FILE..  # 后端DBMS绝对文件路径以写入
    
    • 1
    • 2
    • 3

    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  # 临时文件目录的远程绝对路径
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    Windows registry access(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注册表键值类型
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    General(一般)

    -s SESSIONFILE      # 从存储的(.sqlite)文件加载会话
    -t TRAFFICFILE      # 将所有HTTP流量记录到文本文件中
    --abort-on-empty    # 在结果为空时中止数据检索
    --answers=ANSWERS   # 设置预定义答案(例如,“quit=N,follow=N”)
    --base64=BASE64P..  # 包含Base64编码数据的参数(如 "digest")
    --base64-safe       # 使用URL和文件名安全的Base64字母表(RFC 4648)
    --batch             # 永不要求用户输入,使用默认行为
    --binary-fields=..  # 具有二进制值的结果字段(例如 "digest")
    --check-internet    # 在评估目标之前检查Internet连接
    --cleanup           # 从sqlmap特定的UDF和表中清除DBMS
    --crawl=CRAWLDEPTH  # 从目标URL开始爬取网站
    --crawl-exclude=..  # 用于排除爬行页面的正则表达式(例如 "logout")
    --csv-del=CSVDEL    # CSV输出中使用的分隔字符(默认为“,”)
    --charset=CHARSET   # 盲注SQL字符集(例如 "0123456789abcdef")
    --dump-file=DUMP..  # 将转储的数据存储到自定义文件中
    --dump-format=DU..  # 转储数据的格式(CSV(默认)、HTML或SQLITE)
    --encoding=ENCOD..  # 用于数据检索的字符编码(例如 GBK)
    --eta               # 显示每个输出的预计到达时间
    --flush-session     # 刷新当前目标的会话文件
    --forms             # 解析并测试目标URL上的表单
    --fresh-queries     # 忽略会话文件中存储的查询结果
    --gpage=GOOGLEPAGE  # 使用指定页数的Google dork结果
    --har=HARFILE       # 将所有HTTP流量记录到HAR文件中
    --hex               # 在数据检索期间使用十六进制转换
    --output-dir=OUT..  # 自定义输出目录路径
    --parse-errors      # 解析并显示来自响应的DBMS错误消息
    --preprocess=PRE..  # 用于预处理(请求)的给定脚本
    --postprocess=PO..  # 用于后处理(响应)的给定脚本
    --repair            # 重新转储具有未知字符标记的条目
    --save=SAVECONFIG   # 将选项保存到配置INI文件
    --scope=SCOPE       # 用于筛选目标的正则表达式
    --skip-heuristics   # 跳过漏洞的启发式检测
    --skip-waf          # 跳过WAF/IPS保护的启发式检测
    --table-prefix=T..  # 用于临时表的前缀(默认为“sqlmap”)
    --test-filter=TE..  # 通过载荷和/或标题选择测试(例如 ROW)
    --test-skip=TEST..  # 通过载荷和/或标题跳过测试(例如 BENCHMARK)
    --web-root=WEBROOT  # Web服务器文档根目录(例如 "/var/www")
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37

    Miscellaneous(杂项)

    -z MNEMONICS        # 使用短记号(例如 "flu,bat,ban,tec=EU")
    --alert=ALERT       # 在发现SQL注入时运行主机操作系统命令
    --beep              # 在问题或发现漏洞时发出哔哔声
    --dependencies      # 检查缺少的(可选的)sqlmap依赖项
    --disable-coloring  # 禁用控制台输出颜色
    --list-tampers      # 显示可用篡改脚本的列表
    --no-logging        # 禁用日志记录到文件
    --offline           # 在离线模式下工作(仅使用会话数据)
    --purge             # 安全删除sqlmap数据目录中的所有内容
    --results-file=R..  # 多目标模式下的CSV结果文件位置
    --shell             # 提示输入交互式sqlmap shell
    --tmp-dir=TMPDIR    # 用于存储临时文件的本地目录
    --unstable          # 调整不稳定连接的选项
    --update            # 更新sqlmap
    --wizard            # 针对初学者用户的简单向导界面
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
  • 相关阅读:
    HTML5 day_01(8.5)
    H3C交换机配置DHCP option43
    跨境电商必看!防关联浏览器在多店铺管理中的实际作用
    验证回文串问题带你轻松学会
    p4_第04天:基础入门-WEB源码拓展
    Word控件Spire.Doc 【段落处理】教程(十六):C#中如何设置段落前后的间距
    9、【办公自动化】Python实现Word文件的批量操作
    破局 NFT 困境:实用型 NFT 是什么?
    C#难点语法讲解之委托---从应用需求开始讲解
    Android应用:实现网络加载商品数据【OKHttp、Glide、Gson】
  • 原文地址:https://blog.csdn.net/qq_56313338/article/details/132652330