Sqlmap中文使用手册 - 各个参数介绍(持续更新)

目录

  • 1. 指定输出级别
  • 2. 指定目标
    • 2.1 直接连接数据库
    • 2.2 指定目标URL
    • 2.3 从代理日志中解析目标
    • 2.4 从远程站点地图文件(.xml)中解析目标
    • 2.5 从文本中解析目标
    • 2.6 从文件加载HTTP请求
    • 2.7 将google搜索结果作为攻击目标
    • 2.8 从配置INI文件获取目标
  • 3. 请求
    • 3.1 指定HTTP方法
    • 3.2 指定HTTP数据
    • 3.3 指定参数分割符
    • 3.4 指定cookie
    • 3.5 指定HTTP User-Agent
    • 3.6 指定HTTP Host
    • 3.7 指定HTTP Referer
    • 3.8 指定额外字段
    • 3.9 HTTP协议认证
    • 3.10 HTTP协议私钥认证
    • 3.11 忽略401错误(未授权)
    • 3.12 使用HTTP(S)代理
    • 3.13 Tor匿名网络
    • 3.14 设定每个HTTP请求之间的延迟
    • 3.15 设置超时时间
    • 3.16 连接超时后的最大重试次数
    • 3.17 随机更改参数
    • 3.18 用正则表达式过滤代理日志中的目标
    • 3.19 避免过多错误请求而被屏蔽
    • 3.20 关闭参数值的URL编码

1. 指定输出级别

参数:-v

值:

作用
0只显示Python回源(tracebacks),错误(error)和关键(criticle)信息。
1同时显示信息(info)和警告信息(warning)(默认为1)
2同时显示调试信息(debug)
3同时显示注入的有效载荷(payloads)
4同时显示http请求
5同时显示http响应头
6同时显示http响应内容

使用:默认为1,一般用3即可。


2. 指定目标

2.1 直接连接数据库

参数:-d

背景:针对单个数据库实例,可以用以下两种方式连接。

分类命令
数据库是MySQL,Oracle,Microsoft SQL Server,PostgreSQL等时DBMS://USER:PASSWORD@DBMS_IP:DBMS_PORT/DATABASE_NAME
数据库是SQLite,Microsoft Access,Firebird等时DBMS://DATABASE_FILEPATH

使用:

用root用户(密码为root)连接本地mysql上面的数据库testdb:
sqlmap -d "mysql://root:root@127.0.0.1:3306/testdb"


2.2 指定目标URL

参数:-u 或者 —url

背景:直接对单个网站进行注入检测。

值:https://www.xxx.com:9999/index.html

使用:sqlmap -u "http://www.target.com/vuln.php?id=1"


2.3 从代理日志中解析目标

参数:-l(小写L)

背景:指定一个Burp或WebScarab的代理日志文件,Sqlmap将从日志文件中解析出可能的攻击目标,并逐个尝试进行注入。

值:表示日志文件的路径。


2.4 从远程站点地图文件(.xml)中解析目标

参数:-x

背景:为了提高收录或者方便rss订阅,很多站点都有站点地图。Sqlmap可以直接解析xml格式的站点地图。

值:站点的xml链接。

使用:sqlmap -x http://www.target.com/sitemap.xml


2.5 从文本中解析目标

参数:-m

背景:提供URL列表文件,sqlmap将逐一扫描每个URL。

值:URL列表文件路径。

使用:sqlmap -m url.txt


2.6 从文件加载HTTP请求

参数:-r

背景:可以将一个HTTP请求保存在文件中,然后使用参数“-r”加载该文件,这样,你可以跳过其他一些选项的使用(例如设置Cookie,发布数据等),以该文件中HTTP请求目标为攻击目标进行测试。

值:http请求的文件。

使用:sqlmap -r get.txt


2.7 将google搜索结果作为攻击目标

参数:-g

背景:将google搜索的前一百条结果作为目标进行检测,需要科学上网。

值:google hack语句

使用:sqlmap -g "inurl:\".php?id=1\""


2.8 从配置INI文件获取目标

参数:-c

背景:从配置INI文件获取目标。例如sqlmap下载目录下面的文件sqlmap.conf,该配置文件可以指定目标地址,代理等各种参数,看一下配置模板文件即可理解。

值:配置文件。

使用:sqlmap -c a.conf


3. 请求

指定http请求的相关参数。

3.1 指定HTTP方法

参数:–method=

背景:一般情况下,会自动检测请求的方法。在某些特定的情况下需要强制指定方法。

值:方法

使用:sqlmap -u “https://www.baidu.com/a.php?id=1” --method=put


3.2 指定HTTP数据

参数:–data=

背景:默认情况下,用于执行HTTP请求的方法是GET,但是当我们使用data参数,则HTTP会使用post方法将参数当作HTTP data提交,同时也会检测此参数有没有注入漏洞。

值:post提交的数据

使用:sqlmap -u "http://www.target.com/vuln.php" --data="id=1"


3.3 指定参数分割符

参数:–param-del=

背景:一般情况下,网站会用&作为参数的分隔符,这也是SQLMAP默认使用的分隔符,如果有些web application不使用&作为分隔符的话,那么就使用–param-del去告诉sqlmap分隔符是什么。

使用:sqlmap -u “http://www.xxxxx.com/a.php?id=1;food=2” --param-del=”;”


3.4 指定cookie

背景:

  1. 指定cookie可以用于两种情况:
    • web应用程序需要基于cookie的身份认证,并且你含有cookie
    • 你想要检测并利用cookie注入。(当–level设置为2或者更高的时候,sqlmap会检测cookie是否存在注入漏洞。)
  2. cookie的字符分隔通常是分号。

参数:

参数作用
–cookie指定cookie的内容
–cookie-del指定cookie的分隔符
–load-cookies也可以把cookie保存在Netscape / wget格式的文件中,通过此参数来调用
–drop-set-cookie如果在通信过程中的任何时候,Web应用程序都会响应Set-cookie标题,则sqlmap会自动使用其他的HTTP请求中的值作为cookie,使用此参数sqlmap将会忽略使用cookie。

3.5 指定HTTP User-Agent

参数:

参数作用
–user-agent自定义User-Agent
–random-agent从sqlmap自带的文本文件中随机选择一个user-agent。这个文件是 ./txt/user-agents.txt

背景:默认情况下,sqlmap使用的User-Agent是sqlmap/1.0-dev-xxxxxxx (http://sqlmap.org) 。(当 --level设置为3或者更高时,sqlmap会自动检测user-agent是否存在注入漏洞)


3.6 指定HTTP Host

参数:–host

背景:默认情况下,HTTP Host是从提供的目标URL中分析的,也可以手动设置Host。(当–level设置为5,则会对HTTP Host进行SQL注入测试)


3.7 指定HTTP Referer

参数:–referer

背景:默认情况下,没有HTTP Referer报头在HTTP请求发送。但是可以伪造HTTP Referer标头值。(当–level设置为3或者更高时,则会对HTTP Referer进行注入测试)


3.8 指定额外字段

参数:–headers

使用:sqlmap -u “http://www.xxx.com/a.php?id=1” --headers=”X-A : A \nX-B : B”

背景:可以在sqlmap发送的HTTP请求报文头部添加额外的字段。若添加多个字段,用”\n”分隔。


3.9 HTTP协议认证

参数:

参数说明
–auth-type用于指定认证方式。认证方式有三种:Basic,Digest,NTLM。
–auth-cred用于给出身份认证的凭证。格式:username:password

背景:用于进行http协议认证。

使用:sqlmap -u “http://www.xxxxx.com/a.php?id=1” --auth-type Basic --auth-cred “admin:admin”


3.10 HTTP协议私钥认证

参数:–auth

背景:当Web服务器需要客户端证书和用于身份验证的私钥时,应使用此选项。提供的值应该是PEM格式的key_file,包含你的证书和私钥。


3.11 忽略401错误(未授权)

参数:–ignor-401

背景:如果你在测试返回401错误的站点时想忽略它并继续测试,则可以使用开关--ignore-401,这是个开关参数,后面不需要加其他的数据。


3.12 使用HTTP(S)代理

参数:

参数作用
–proxy设置代理,格式为:http://url:port
–proxy-cred当http(s)需要认证时,可以使用这个参数来提供凭证,格式:username:password
–proxy-file指定一个包含有代理列表的文件,在连接时,会依次使用文件里面的代理,当代理无效时,会自动调到下一个代理
–ignor-proxy忽略代理设置

3.13 Tor匿名网络

背景:如果需要匿名,除了通过定义HTTP(S)代理服务器,还可以安装类似Privoxy这样的软件按照Tor的安装指导配置一个Tor客户端。

参数:

参数作用
–tor设置好Tor客户端后,使用这个参数让sqlmap自动设置使用Tor代理。
–tor-type自定义代理的类型。
–to-port自定义代理的端口。
–check-tor使用这个开关,可以保证所有的配置都正确,sqlmap会检查是否一切数据都走的匿名代理,如果检查失败,sqlmap会警告你并退出。

3.14 设定每个HTTP请求之间的延迟

参数:–delay

背景:默认情况下,不设置延迟。可以指定每个HTTP(S)请求之间等待的秒数。有效值是一个浮点数,例如0.5意味着半秒。


3.15 设置超时时间

参数:–timeout

背景:默认的超时时间是30s。可以通过这个参数手动设置超时时间,有效值为一个浮点数,比如10.5意味着十秒半。


3.16 连接超时后的最大重试次数

参数:–retries

背景:连接超时后sqlmap会重试连接,默认情况下,重试次数为3次。使用这个参数可以指定HTTP(S)连接超时时的最大重试次数。


3.17 随机更改参数

参数:–randomize

背景:可以指定请求参数名称,这些参数在请求期间根据原始长度和类型随机更改。


3.18 用正则表达式过滤代理日志中的目标

参数:–scope

背景:指定一个Python正则表达式对代理日志进行过滤,只测试符合正则表达式的目标。

使用:python sqlmap.py -l burp.log --scope="(www)?\.target\.(com|net|org)"


3.19 避免过多错误请求而被屏蔽

背景:有时服务器检测到某个客户端错误请求过多会对其进行屏蔽,而Sqlmap的盲注测试会产生大量错误请求。为了避免被限制,我们可以每隔一段时间来访问正确的url。使用以下参数,sqlmap将会每隔一段时间访问一个正确的URL,并且不会对其进行任何注入。

参数:

参数作用
–safe-url隔段时间就访问一下正确的URL
–safe-post访问正确URL时携带的POST数据
–safe-req从文件中载入安全HTTP请求
–safe-freq每次测试请求之后都会访问一下安全的URL

3.20 关闭参数值的URL编码

参数:–skip-urlencode

背景:默认情况下sqlmap会对参数进行编码。但是又的服务端只接受未编码的参数,这时候可以使用这个参数来停止sqlmap的自动编码。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/863909.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

线程安全的懒加载单例模式

一、什么是单例模式 单例模式是一种设计模式,它确保某个类只有一个实例,并提供一个全局访问点来获取该实例。这种模式在多种编程语言中都有实现,包括Java和C。单例模式的实现可以采取饿汉式或懒汉式两种方式。饿汉式是在类加载时就创建了…

springboot使用测试类报空指针异常

检查了Service注解,还有Autowired注解,还有其他注解,后面放心没能解决问题,最后使用RunWith(SpringRunner.class)解决了问题!! 真的是✓8了,烦死了这个✓8报错!

VSCode连接远程服务器,并用Docker环境开发和调试

1. 连接服务器操作步骤 1.1 在本机安装SSH 由于我们是使用 SSH 连接远程服务器,因此 Windows 需要支持 SSH。可以通过安装 Git 来获取 SSH 功能,如何验证? 使用 Win R ,输入 cmd 打开控制窗口,直接输入 ssh,如下提…

C语言 | Leetcode C语言题解之第200题岛屿数量

题目: 题解: void cleanLand(char** grid, int gridSize, int ColSize,int row,int column) {if(grid[row][column] 1){//不等于1则清零grid[row][column] 0;}else{//不等于1则返回return ;}int newRow;int newColumn;//上if(row ! 0) //还能上{ne…

每天五分钟计算机视觉:人体姿势识别

本文重点 人体姿势识别是计算机视觉领域的一个重要研究方向,旨在通过图像或视频数据自动检测并识别出人体的各种姿势和动作。随着深度学习技术的快速发展,基于神经网络的方法在这一领域取得了显著进展。神经网络,特别是卷积神经网络(CNN)和循环神经网络(RNN),因其强大…

基于YOLOv9的PCB板缺陷检测

数据集 PCB缺陷检测,我们直接采用北京大学智能机器人开放实验室数据提供的数据集, 共六类缺陷 漏孔、鼠咬、开路、短路、杂散、杂铜 已经对数据进行了数据增强处理,同时按照YOLO格式配置好,数据内容如下 模型训练 ​ 采用YOLO…

idea乱码问题解决

乱码问题产生的根本原因 数据的编码和解码使用的不是同一个字符集 使用了不支持某个语言文字的字符集 Tomcat控制台乱码 在tomcat10.1.7这个版本中,修改 tomcat/conf/logging.properties中,所有的UTF-8为GBK即可 sout乱码问题,设置JVM加载.class文件时使用UTF-8字符集 设置虚…

Kafka 集群 Topic、消息大小、节点格式上限管控原理

Kafka 集群 Topic、消息大小、节点格式上限管控原理 kafka 集群对创建topic的数量有限制吗,发送的消息内容大小有限制吗,kafka集群节点的个数有限制吗, 如何来合理的设置topic的分区数量和副本数量?Kafka 集群在创建 Topic 的数量、发送的消息内容大小、集群节点的个数方面…

RedisAtomicInteger并发案例

🍰 个人主页:__Aurora__ 🍞文章有不合理的地方请各位大佬指正。 🍉文章不定期持续更新,如果我的文章对你有帮助➡️ 关注🙏🏻 点赞👍 收藏⭐️ RedisAtomicInteger 提供了对整数的原子性操作&a…

【SkiaSharp绘图12】SKCanvas方法详解(一)清空、裁切区域设置、连接矩阵、注释、弧与扇形、图集、九宫格绘图、圆

文章目录 SKCanvas 方法Clear 清空ClipPath/ClipRect/ClipRegion/ClipRoundRect 设置裁切区域Concat 连接矩阵DrawAnnotation绘制注释DrawArc绘制椭圆弧、扇形DrawAtlas绘制图集(一个图像、多个区域、多个缩放、一次绘制)DrawBitmap绘制图像DrawBitmapNinePatch九宫…

防火墙部署基本方法

防火墙部署基本方法 防火墙部署是确保网络安全的重要步骤,通过合理的部署和配置防火墙,可以有效地保护网络资源,防止未经授权的访问和网络攻击。以下是防火墙部署的基本方法,包括部署步骤、配置建议和常见的部署拓扑。 一、部署…

深度学习评价指标:Precision, Recall, F1-score, mIOU, 和 mDice

在深度学习和机器学习中,评价模型性能是至关重要的一环。本文将详细讲解一些常见的评价指标,包括精确率(Precision)、召回率(Recall)、F1-score、平均交并比(mIOU)和平均Dice系数&am…

Adobe Magento OR Commerce电子商务系统 XXE漏洞复现(CVE-2024-34102)

0x01 产品简介 Magento最初是一个开源的电子商务平台,后来被Adobe公司收购,并更名为Adobe Commerce,是一个功能丰富、灵活且可扩展的电子商务解决方案。Adobe Commerce提供了强大的定制能力,允许商家根据自己的业务需求进行灵活调整。通过人工智能和机器学习技术,为B2B和…

5.6 0-1背包问题

#include<iostream> #include<string> #include<stdlib.h> #include<bits/stdc.h> using namespace std;int c;//背包容纳的重量 int n;//物品数量 int cw;//当前重量 int cv;//当前价值 int bestv;//当前最优价值 int x[100]; int bestx[100]; struct…

Linux 交叉编译工具链格式 sqlite3编译示例

1、交叉编译工具链 1.1 定义 交叉编译工具链是一个由编译器、连接器和解释器组成的综合开发工具集&#xff0c;它允许开发者在一个平台上&#xff08;例如高性能的PC或服务器&#xff09;编译生成另一个平台&#xff08;例如嵌入式系统或不同的操作系统和硬件架构&#xff09…

pyqt 文件浏览列表视图和图标视图

pyqt 文件浏览列表视图和图标视图 目的效果代码 目的 使用pyqt实现文件浏览列表视图和图标视图&#xff0c;像电脑文件浏览一样。如下图所示。 效果 代码 import sys from PyQt5.QtWidgets import QApplication, QMainWindow, QVBoxLayout, QWidget, QToolBar, QAction, Q…

大数据领域的常用开发语言详解

大数据开发语言主要包括以下几个&#xff0c;以下是它们在大数据开发领域的优缺点和应用场景的详细说明&#xff1a; 1. Java 优点&#xff1a; 跨平台性&#xff1a;Java的“一次编写&#xff0c;到处运行”的特性使得其可以轻松地运行在多个操作系统上。面向对象&#xff…

OpenCV学习之cv2.subtract函数

OpenCV学习之cv2.subtract函数 一、简介 cv2.subtract 是 OpenCV 库中的一个基本函数&#xff0c;用于对两幅图像进行逐像素的减法操作。 二、基本语法 cv2.subtract(src1, src2, dstNone, maskNone, dtypeNone)三、参数说明 src1 (numpy.ndarray): 第一幅输入图像或数组。 …

上海市计算机学会竞赛平台2023年6月月赛丙组差分求和

题目描述 给定一个整数序列&#xff0c;对其中任意两个数&#xff0c;计算后项减前项的差&#xff0c;输出这些差的差。 例如对于 &#x1d44e;1,&#x1d44e;2,&#x1d44e;3,&#x1d44e;4a1​,a2​,a3​,a4​ 来说&#xff0c;输出 (&#x1d44e;2−&#x1d44e;1)…

html2pdf.js生成PDF空白页面问题解决办法

现象 1、Scale参数1.8时&#xff0c;安卓手机在20页以上可能爆掉生成空白页 2、Scale参数1.8时&#xff0c;苹果手机在5页以上可能爆掉生成空白页 原因是浏览器支持画布的尺寸大小限制 解决办法 分页生成&#xff0c;一个元素一页这样不可能超过限制尺寸。 查到解决代码&a…