sqlmap中文文档
这是 sqlmap -hh
的翻译,后续可能会对参数进行详细的示例
sqlmap
普通选项
-h, --help # 显示基本帮助信息并退出
-hh # 详细帮助信息
--versino # 版本
-v # 日志详细级别 0-60:只显示python错误以及严重的信息。1:同时显示基本信息和警告信息。(默认)2:同时显示debug信息。3:同时显示注入的payload。4:同时显示HTTP请求。5:同时显示HTTP响应头。6:同时显示HTTP响应页面。
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文件加载选项
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()")
Optimization 优化
- 这些选项可用于优化sqlmap的性能
-o # 打开所有优化开关
--predict-output # 预测常见查询输出
--keep-alive # 使用持久HTTP连接
--null-connection # 检索没有实际HTTP响应正文的页面长度
--threads=THREADS # 并发HTTP请求的最大数目(默认为1)
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 # 使用给定的脚本来篡改注入数据
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 # 仅基于页面标题比较页面
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请求
Fingerprint 指纹
-f, --fingerprint # 执行详细的DBMS版本指纹识别
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语句
Brute force 爆破
- 这些选项可用于运行暴力检查
--common-tables # 检查常见表的存在
--common-columns # 检查常见列的存在
--common-files # 检查常见文件的存在
User-defined function injection 用户定义的功能注入
- 这些选项可用于创建自定义的用户定义函数
--udf-inject # 注入自定义用户定义的函数
--shared-lib=SHLIB # 共享库的本地路径
File system access(文件系统访问)
--file-read=FILE.. # 从后端DBMS文件系统读取文件
--file-write=FIL.. # 在后端DBMS文件系统上写入本地文件
--file-dest=FILE.. # 后端DBMS绝对文件路径以写入
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注册表访问)
--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 # 从存储的(.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")
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 # 针对初学者用户的简单向导界面
相关文章:
sqlmap中文文档
这是 sqlmap -hh的翻译,后续可能会对参数进行详细的示例 sqlmap 普通选项 -h, --help # 显示基本帮助信息并退出 -hh # 详细帮助信息 --versino # 版本 -v # 日志详细级别 0-60:只显示python错误以及严重的信息。1:同时显示基本信…...

【C++模拟实现】vector的模拟实现
【C模拟实现】vector的模拟实现 目录 【C模拟实现】vector的模拟实现vector模拟实现的标准代码vector模拟实现中的要点insert和erase会涉及到迭代器失效的问题vector深度剖析关于模版template< class InputIterator >使用memcpy拷贝问题 作者:爱写代码的刚子 …...

go学习part21(3)redis连接池
连接池 1.介绍 每次使用数据就就建立链接再关闭可以,但是如果有大量客户端频繁请求连接,大量创建连接和关闭会非常耗费资源。 所以就建立一个连接池,里面存放几个不关闭的连接,谁要用就分配给谁。 说明:通过Golang 对 Redis操…...

乐理-笔记
乐理笔记整理 1、前言2、认识钢琴键盘及音名3、升降号、还原号4、如何区分同一音名的不同键?5、各类音符时值的关系6、歌曲拍号7、拍号的强弱规律8、歌曲速度(BPM)9、附点音符10、三连音12、唱名与简谱数字13、自然大调(白键&…...

java八股文面试[数据库]——B树和B+树的区别
B树是一种树状数据结构,它能够存储数据、对其进行排序并允许以O(logn)的时间复杂度进行查找、顺序读取、插入和删除等操作。 1、B树的特性 B树中允许一个结点中包含多个key,可以是3个、4个、5个甚至更多,并不确定,需要看具体的实…...

2、Nginx 安装
文章目录 2、Nginx 安装2.1 官网下载2.2 安装 nginx2.2.1 第一步2.2.2 第二步2.2.3 第三步,安装 nginx2.2.4 第四步,修改防火漆规则 【尚硅谷】尚硅谷Nginx教程由浅入深 志不强者智不达;言不信者行不果。 2、Nginx 安装 2.1 官网下载 nginx…...

最适合 AI 的 Python Web 框架
迷途小书童的 Note 读完需要 4分钟 速读仅需 2 分钟 1 简介 本文将介绍 Gradio 库,它是 Python 的一个 web 框架,可以帮助我们快速构建交互式 AI 应用。我们将了解 Gradio 的应用场景、基本原理、功能介绍,并通过一个代码示例来演示如何使用 …...
算法通关村第十八关——回溯
回溯很大感觉就是多重递归,在递归的题目中,例如斐波那契数列,只需要考虑当前情况以及他的子情况。而在回溯中,要进行很多次递归,并且要对条件进行处理。 LeetCode257:给你一个二叉树的根节点root,按任意顺序ÿ…...

使用kafka还在依赖Zookeeper,kraft模式了解下
Kafka的Kraft模式 概述 Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。其核心组件包含Producer、Broker、Consumer,以及依赖的Zookeeper集群。其中Zookeeper集群是Kafka用来负责集群元数据的管理、控制器…...

【100天精通Python】Day52:Python 数据分析_Numpy入门基础与数组操作
目录 1 NumPy 基础概述 1.1 NumPy的主要特点和功能 1.2 NumPy 安装和导入 2 Numpy 数组 2.1 创建NumPy数组 2.2 数组的形状和维度 2.3 数组的数据类型 2.4 访问和修改数组元素 3 数组操作 3.1 数组运算 3.2 数学函数 3.3 统计函数 4 数组形状操作 4.1 重塑数组形…...
Day01-Java基础语法
目录 1. 人机交互 1.1 什么是cmd? 1.2 如何打开CMD窗口? 1.3 常用CMD命令 1.4 CMD练习 1.5 环境变量 2. Java概述 1.1 Java是什么? 1.2下载和安装 1.2.1 下载 1.2.2 安装 1.2.3 JDK的安装目录介绍 1.3 HelloWorld小案例 2.3.1 …...
代码随想录二刷day06
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、力扣242. 有效的字母异位词二、力扣349. 两个数组的交集三、力扣202. 快乐数四、力扣1两数之和 前言 一、力扣242. 有效的字母异位词 class Solution {pub…...

可扩展的Blender插件开发汇总
成熟的 Blender 3D 插件是令人惊奇的事情。作为 Python 和 Blender 的新手,我经常发现自己被社区中的人们创造的强大的东西弄得目瞪口呆。坦率地说,其中一些包看起来有点神奇,当自我怀疑或冒名顶替综合症的唠叨声音被打破时,很容易想到“如果有人能做出可以做xxx的东西就好…...

2023_Spark_实验二:IDEA安装及配置
一、下载安装包 链接:百度网盘 请输入提取码 所在文件夹:大数据必备工具--》开发工具(前端后端)--》后端 下载文件名称:ideaIU-2019.2.3.exe (喜欢新版本也可安装新版本,新旧版本会存在部分差异) IDEA …...

小赢科技,寻找金融科技核心价
如果说金融是经济的晴雨表,是通过改善供给质量以提高经济质量的切入口,那么金融科技公司,就是这一切行动的推手。上半年,社会经济活跃程度提高背后,金融科技公司既是奉献者,也是受益者。 8月29日࿰…...

NAT与代理服务器
1.DNS Domain Name System 是一整套从域名映射到IP的系统(把域名转化为IP地址) 2.域名简介 3.周鸿祎 傅盛 4.ICMP协议 用来网络故障排查原因 草图理解“位置” ping ICMP 是绕过TCP UDP传输协议的,没有端口号 traceroute 5.NAT技术 N…...

24.排序,插入排序,交换排序
目录 一. 插入排序 (1)直接插入排序 (2)折半插入排序 (3)希尔排序 二. 交换排序 (1)冒泡排序 (2)快速排序 排序:将一组杂乱无章的数据按一…...

Navicat16安装教程
注:因版权原因,本文已去除破解相关的文件和内容 1、在本站下载解压后即可获得Navicat16安装包和破解补丁,如图所示 2、双击“navicat160_premium_cs_x64.exe”程序,即可进入安装界面, 3、点击下一步 4、如图所示勾选“…...

【看表情包学Linux】初识文件描述符 | 虚拟文件系统 (VFS) 初探 | 系统传递标记位 | O_TRUNC | O_APPEND
爆笑教程《看表情包学Linux》👈 猛戳订阅! 💭 写在前面:通过上一章节的讲解,想必大家已对文件系统基本的接口有一个简单的了解,本章我们将继续深入讲解,继续学习系统传递标志位&…...

ssm+vue“魅力”繁峙宣传网站源码和论文
ssmvue“魅力”繁峙宣传网站源码和论文102 开发工具:idea 数据库mysql5.7 数据库链接工具:navcat,小海豚等 技术:ssm 摘 要 随着科学技术的飞速发展,各行各业都在努力与现代先进技术接轨,通过科技手段提高自身…...

练习(含atoi的模拟实现,自定义类型等练习)
一、结构体大小的计算及位段 (结构体大小计算及位段 详解请看:自定义类型:结构体进阶-CSDN博客) 1.在32位系统环境,编译选项为4字节对齐,那么sizeof(A)和sizeof(B)是多少? #pragma pack(4)st…...

关于nvm与node.js
1 安装nvm 安装过程中手动修改 nvm的安装路径, 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解,但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后,通常在该文件中会出现以下配置&…...
基础测试工具使用经验
背景 vtune,perf, nsight system等基础测试工具,都是用过的,但是没有记录,都逐渐忘了。所以写这篇博客总结记录一下,只要以后发现新的用法,就记得来编辑补充一下 perf 比较基础的用法: 先改这…...
Java多线程实现之Callable接口深度解析
Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...
OkHttp 中实现断点续传 demo
在 OkHttp 中实现断点续传主要通过以下步骤完成,核心是利用 HTTP 协议的 Range 请求头指定下载范围: 实现原理 Range 请求头:向服务器请求文件的特定字节范围(如 Range: bytes1024-) 本地文件记录:保存已…...

CMake 从 GitHub 下载第三方库并使用
有时我们希望直接使用 GitHub 上的开源库,而不想手动下载、编译和安装。 可以利用 CMake 提供的 FetchContent 模块来实现自动下载、构建和链接第三方库。 FetchContent 命令官方文档✅ 示例代码 我们将以 fmt 这个流行的格式化库为例,演示如何: 使用 FetchContent 从 GitH…...
[Java恶补day16] 238.除自身以外数组的乘积
给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O(n) 时间复杂度…...

自然语言处理——循环神经网络
自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元(GRU)长短期记忆神经网络(LSTM)…...

Yolov8 目标检测蒸馏学习记录
yolov8系列模型蒸馏基本流程,代码下载:这里本人提交了一个demo:djdll/Yolov8_Distillation: Yolov8轻量化_蒸馏代码实现 在轻量化模型设计中,**知识蒸馏(Knowledge Distillation)**被广泛应用,作为提升模型…...

从物理机到云原生:全面解析计算虚拟化技术的演进与应用
前言:我的虚拟化技术探索之旅 我最早接触"虚拟机"的概念是从Java开始的——JVM(Java Virtual Machine)让"一次编写,到处运行"成为可能。这个软件层面的虚拟化让我着迷,但直到后来接触VMware和Doc…...