SQLmap 命令手册展开目录
注意,该手册适用于 1.41 版本以下的 SQLmap
本文所有内容均从 SQLmap 官方 wiki 翻译完成,并对各个参数进行了测试,保证可以正确使用 What is SQLmap?展开目录What can do?展开目录
判断可注入的参数判断使用哪种技术注入识别数据库根据选择读取数据库中的数据
5 种注入模式
基于 bool 的盲注基于时间的盲注基于报错的注入联合查询注入堆叠查询注入
支持的数据库
MySQLOraclePostgreSQLMSSQLMS AccessIBM DB2SQLliteFirebirdSybaseSAP MaxDBHSQLDBInformix
基础命令
python sqlmap.py -参数1 目标 -参数2
帮助参数1. -h 或 --help
显示基本帮助信息并推出用法:python sqlmap.py -h
2. -hh
显示高级帮助信息并退出用法:python sqlmap.py -hh
3. --version
显示程序版本信息并退出python sqlmap.py --version
4. -v
观察 SQLmap 如何进行注入以及读取数据的用法:python sqlmap.py -v 等级(默认为1)等级 (共 7 级)
- 0 只显示 python 错误以及严重的信息
- 1 同时显示基本信息和警告信息
- 2 同时显示 debug 信息
- 3 同时显示注入的 payload
- 4 同时显示 HTTP 请求
- 5 同时显示 HTTP 响应头
- 6 同时显示 HTTP 相应页面
必须参数
至少存在一个必须参数
-u 或 --url
指定 URL用法:python sqlmap.py -u http://127.0.0.1/?id=1
-d
直接连接数据库用法:python sqlmap.py -d "mysql://user:password@ip:port/数据库名称"
-l
从 Burp 或者 WebScarab 代理日志文件中来解析目标用法:python sqlmap.py -l 日志文件
-m
从文件中批量加载 URL,一行一个 URL用法:python sqlmap.py -m 文件
-r
从文本文件中获取 HTTP 请求,常用于 POST 提交,以及设置 UA、Cookie 等用法:python sqlmap.py -r 文件文本文件例子:
- POST /abc
- Host: 127.0.0.1
- User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:81.0)
- id=1
-g
测试注入 Google 搜索结果中的 GET 参数 (前 100 个结果)用法:python sqlmap.py -g "inurl:\".php?id=1\""
-c
从配置 ini 文件中加载选项用法:python sqlmap.py -c ini配置文件具体配置可以参照 SQLmap 文件夹中的 SQLmap.conf
请求参数
这些选项可用于指定如何连接到目标 URL
-A 或者 --user-agent
指定 URL 的 UA当 -level 设置为 3 或者更高时,SQLmap 会检测 UA 是否存在注入用法:python sqlmap.py 必须参数 -A UA
-H 或者 --headers
指定额外的 HTTP 头用法:python sqlmap.py 必须参数 -H HEADER
--method
强制使用给定的 HTTP 方法用法:python sqlmap.py 必须参数 --method=方法一般 HTTP 方法有:
- GET 请求指定的页面信息,并返回实体主体
- HEAD 类似于 GET 请求,只不过返回的相应中没有具体的内容,用于获取报头
- POST 向指定资源提交数据进行处理请求 (例如提交表单或者上传文件)。数据被包含在请求体中。POST 请求可能会导致新的资源的建立和 / 或已有资源的修改。
- PUT 从客户端向服务器传送的数据取代指定的文档的内容
- DELETE 请求服务器删除指定的页面
- CONNECT HTTP/1.1 协议中预留给能够将连接改为管道方式的代理服务器。
- OPTIONS 允许客户端查看服务器的性能
- TRACE 回显服务器收到的请求,主要用于测试或者诊断
- PATCH 是对 PUT 方法的补充,用来对已知资源进行局部更细。
--data
通过 POST 发送数据参数用法:python sqlmap.py 必须参数 --data=数据参数
--param-del
指定发送数据中拆分参数值的字符用法:python sqlmap.py 必须参数 --param-del=字符例:python sqlmap.py -u "http://192.168.56.102:8080/user.php" --data="id=0;name=werner" --param-del=";"
--cookie
指定 cookie当 -level 设置为 2 或者更高时,SQLmap 会检测 cookie 是否存在注入用法:python sqlmap.py 必须参数 --cookie="dasfc23cdf4ffdsda1"
--cookie-del
指定 cookie 中拆分参数值的字符 (与 --param-del 类似)用法:python sqlmap.py 必须参数 --cookie-del="&"
--load-cookies
从文件中载入 Netscape 或 wget 格式的 cookie用法:python sqlmap.py 必须参数 --load-cookies=文件
--drop-set-cookie
忽略响应头中设置的 cookie用法:python sqlmap.py 必须参数 --drop-set-cookie
--random-agent
使用随机的 UA用法:python sqlmap.py 必须参数 --random-agent
--host
指定 HTTP 头中的 Host 值当 -level 设置为 5 或者更高时,SQLmap 会检测 Host 是否存在注入用法:python sqlmap.py 必须参数 --host="HOST指定值"
--referer
指定 HTTP 请求头中的 referer,SQLmap 发送的 HTTP 请求默认无 referer当 -level 设置为 3 或者更高时,SQLmap 会检测 referer 是否存在注入用法:python sqlmap.py 必须参数 --referer REFERER
--auth-type
指定认证方式支持以下身份认证方式
用法:python sqlmap.py 必须参数 --auth-type Basic 其他auth认证参数
--auth-cred
指定认证的用户名密码用法:python sqlmap.py 必须参数 --auth-type Basic --auth-cred "用户名:密码"
--auth-file
指定 HTTP 身份认证的 PEM 证书、私钥文件用法:python sqlmap.py 必须参数 --auth-file="文件或链接"
--ignore-code
忽略 HTTP 错误代码用法:python sqlmap.py 必须参数 --ignore-错误代码
--ignore-proxy
忽略系统默认的代理用法:python sqlmap.py 必须参数 --ignore-proxy
--ignore-redirects
忽略重定向用法:python sqlmap.py 必须参数 --ignore-redirects
--ignore-timeouts
忽略超时用法:python sqlmap.py 必须参数 --ignore-timeouts
--proxy
设置一个 HTTP 代理连接目标 URL用法:python sqlmap.py 必须参数 --proxy="http\https\socks4\socks5://address:port"
--proxy-cred
为代理设置认证信息用法:python sqlmap.py 必须参数 --proxy="http\https\socks4\sockes5://address:port" --proxy-cred=用户名:密码
--proxy-file
从文件加载代理用法:python sqlmap.py 必须参数 --proxy-file=文件
--tor
使用 tor 网络用法:python sqlmap.py 必须参数 --tor 其他tor参数
--tor-port
指定 tor 的端口用法:python sqlmap.py 必须参数 --tor --tor-port 端口
--tor-type
设置 tor 的类型
用法:python sqlmap.py 必须参数 --tor --tor-type=SOCKS5
--check-tor
检查是否使用了 tor用法:python sqlmap.py 必须参数 --tor 其他tor参数 --check-tor此参数会保证所有流量走 tor,若 tor 代理失效,SQLmap 会发出警告并退出
--delay
为 HTTP 请求之间设置延迟,以秒为单位,默认无延迟用法:python sqlmap.py 必须参数 --delay=1
--timeout
设置超时等待时间,以秒为单位,默认 30 秒超时用法:python sqlmap.py 必须参数 --timeout 20
--retries
超时重试次数,默认为 3 次用法:python sqlmap.py 必须参数 --retries 4
--randomize
随机生成 HTTP 请求中参数的值,值的类型和长度依照于原始值用法:python sqlmap.py 必须参数 --randomize="HTTP参数"
--safe-url
每隔一段时间访问一个安全 \ 不错误的连接用法:python sqlmap.py 必须参数 --safe-url="安全\不错误的URL" 其他safe参数
--safe-post
访问安全 \ 不错误连接时使用指定 POST 数据用法:python sqlmap.py 必须参数 --safe-post POST数据
--safe-req
从文件加载安全 \ 不错误的 HTTP 请求用法:python sqlmap.py 必须参数 --safe-req 文件
--safe-freq
每隔几次测试请求之后都会访问安全 URL用法:python sqlmap.py 必须参数 --safe-url="安全\不错误的URL" --safe-freq=3使用 safe-url 必须使用 safe-freq
--skip-urlencode
对 payload 跳过 URL 编码用法:python sqlmap.py 必须参数 --skip-urlencode因为有些网站不遵守 RFC 标准编码,所以需要跳过 URL 编码
--csrf-token
指定 csrf-token 的值用法:python sqlmap.py 必须参数 --csrf-token=token参数
--csrf-url
指定 csrf-token 的 url 值用法:python sqlmap.py 必须参数 --csrf-url=URL参数
--force-ssl
强制使用 SSL\HTTPS用法:python sqlmap.py 必须参数 --force-ssl
--hpp
使用 HTTP 参数污染用法:python sqlmap.py 必须参数 --hppHTTP 参数污染是绕过 WAF/IPS/IDS 的一种技术,针对 ASP/ISS/(ASP.NET/ISS) 平台尤其有效
--eval
在每次请求前执行指定 python 代码用法:python sqlmap.py 必须参数 --eval="python代码"某些时候,需要根据某个参数的变化来修改另一个参数才能形成正常请求,所以需要用 python 代码根据该参数来计算出另一个参数的值
优化参数
这些选项可以用来优化 SQLmap 的性能
-o
打开所有的优化开关 (即 --predict-output,--keep-alive,--null-connection)用法:python sqlmap.py 必须参数 -o
--predict-output
预测常见的查询输出用法:python sqlmap.py 必须参数 --predict-output预设一个表,然后提交给服务器,根据返回值判断,类似暴力破解,但是每次破解都会缩小范围。
--keep-alive
保持 HTTP (S) 长连接用法:python sqlmap.py 必须参数 --kepp-alive性能好,避免重复建立链接,占用服务器资源。与 --proxy 不兼容
--null-connection
只检索 HTTP 相应页大的长度,不检索实际内容 (常用于盲注)python sqlmap.py 必须参数 --null-connection
--threads
多线程,默认为 1,最大为 10** 与 --predict-output 不兼容用法:python sqlmap.py 必须参数 --threads=3
注入参数
这些可选参数用于指定要测试的参数,提供定制的注入 payload 和可选的篡改脚本
-p
给出需要测试的参数用法:python sqlmap.py 必须参数 -p "user-agent"
--skip
排除指定参数用法:python sqlmap.py 必须参数 --skip="user-agent"
--skip-static
跳过非动态参数进行测试,即不检测固定参数用法:python sqlmap.py 必须参数 --skip-static
--param-exclude
使用正则表达式排除某些参数用法:python sqlmap.py 必须参数 --param-exclude=正则
--dbms
指定目标数据库类型、版本用法:python sqlmap.py 必须参数 --dbms="mysql<版本>"
--dbms-cred
指定数据库的用户名密码用法:python sqlmap.py 必须参数 --dbms-cred="用户名:密码"
--os
指定目标数据库的操作系统用法:python sqlmap.py 必须参数 --os="Windows"
--invalid-bignum
使用大数字使参数失效,通常 SQLmap 会使用负数使参数失效用法:python sqlmap.py 必须参数 --invalid-bignum
--invalid-logical
使用逻辑使参数失效,如 id=1 and 1=2用法:python sqlmap.py 必须参数 --invalid-logical
--invalid-string
使用随机字符使参数失效用法:python sqlmap.py 必须参数 --invalid-string
--no-cast
在提取数据库数据时,将所有结果转换为字符串,并且空格替换 NULL 结果 (老版本 MySql 需要使用此参数)用法:python sqlmap.py 必须参数 --no-cast
--no-escape
不使用 char 替换字符串功能出于混淆和避免出错的目的,如果 payload 使用单引号界定字符串,SQLmap 使用 char () 编码逃避的方法替换字符串用法:python sqlmap.py 必须参数 --no-escape
--prefix
指定 payload 的闭合语句的前缀用法:python sqlmp.py 必须参数 --prefix="前缀"
--sufix
指定 payload 的闭合语句的后缀用法:python sqlmap.py 必须参数 --sufix="后缀"
--tamper
使用混淆脚本,用来绕过 WAF/IPS/ 应用过滤层用法:python sqlmap.py 必须参数 --tamper="脚本文件"
探测参数
自定义在 SQL 盲注时如何解析和比较 HTTP 相应页面的内容
--level
指定检测等级 (1~5,默认为 1)可以在 sqlmap/xml/payloads 文件内可以看到各个 level 发送的 payload各个 level 的检测数据
默认cookieuser-agentrefererhost用法:python sqlmap.py 必须参数 --level=3
--risk
指定风险等级 (1~3,默认为 1),升高风险等级会增加数据被篡改的风险各个风险等级检测类型
默认基于时间的 SQL 注入基于 or 的 SQL 注入用法:python sqlmap.py 必须参数 --risk=2
--string
在基于 bool 注入时,指定判断真假的字符串 (常用于返回页面不固定时)用法:python sqlmap.py 必须参数 --string="字符串"
--not-string
在基于 bool 注入时,指定没出现的字符串判断真假,与 --string 相反用法:python sqlmap.py 必须参数 --not-string="字符串"
--regexp
在基于 bool 注入时,根据正则表达式来判断真假,与 --not-string 和 --string 可以连用用法:python sqlmap.py 必须参数 --regexp="正则表达式"
--code
在基于 bool 注入时,通过指定 HTTP 返回码来判断真假用法:python sqlmap.py 必须参数 --code=200
--text-only
在 bool 注入时,通过文本内容判断真假用法:python sqlmap.py 必须参数 --text-only
--titles
在 bool 注入时,通过标题判断真假用法:python sqlmap.py 必须参数 --titles
技巧参数
这些参数可以用来调整 SQL 注入的测试技术
--technique
指定使用的 SQL 注入技术,默认为 BEUSTQ指定的技术如下:
- B:bool 盲注
- E:报错注入
- U:联合查询注入
- S:堆叠注入
- T:时间盲注
- Q:内联查询注入
用法:python sqlmap.py 必须参数 --technique=BU
--time-sec
在时间盲注中,指定判断的时间,单位为秒,默认为 5用法:python sqlmap.py 必要参数 --time-sec=3
--union-cols
联合注入的尝试列数,随 level 增加最多支持 50 列,默认查询 1-10 列用法:python sqlmap.py 必要参数 --time-cols 5-7
--union-char
在联合注入中,默认使用的占列的值是 NULL,但是有时候 NULL 会失效,所以需要手动指定一个其他的占列值。用法:python sqlmap.py 必要参数 --union-char=1
--union-from
在有些数据库中,必须指定一个有效且可访问的表,否则联合查询就会失败,所以必须使用该参数指定一个表用法:python sqlmap.py 必须参数 --union-from=表名
--dns-domain
如果控制了一台 DNS 服务器,则可以使用该命令做 DNS 泄露攻击,通过攻击,可以在 DNS 的访问日志里得到查询的数据用法:python sqlmap.py 必须参数 --dns-domain注意!DBMS 中需要有可用的,能直接或间接引发 DNS 解析过程的程序,即用到 UNC,其中引发 DNS 解析过程的函数有:
MSSQL
- master..xp_dirtree (用于获取所有文件夹的列表和给定文件内部的子文件夹)
- master..xp_fileexit (用于确定一个特定的文件是否存在于硬盘)
- master..xp_subdirs (用于得到给定的文件夹内的文件夹列表)
Oracle
- GET_HOST_ADDRESS (用于检索特定主机的 IP)
- UTL_HTTP.REQUEST (从给定的地址检索到第 1~2000 字节的数据)
MySql
- load_file (读取文件内容并将其作为字符串返回)
PostgreSQL
- COPY (用于在文件系统的文件和表之间拷贝数据)
--second-url
搜索二阶相应的结果页面的 URL,即在一个页面注入,在另外一个页面显示,适合 GET 提交,POST 提交需要下一个参数用法:python sqlmap.py 必须参数 --second-url="另一个页面地址"
--second-req
与上一个相同,只是从文件加载 HTTP 请求用法:python sqlmap.py 必须参数 --second-req="请求的文件地址"
指纹参数-f 或 --fingerprint
获取更广泛的 DBMS 操作系统、架构、补丁等信息用法:python sqlmap.py 必须参数 -f
枚举参数
下列这些选项可以用于枚举数据库的系统信息、表的结构和数据,此外还可以执行自定义的 SQL 语句
-a 或 --all
查找所有的信息,即枚举中所有的信息用法:python sqlmap.py 必须参数 -a
-b 或 --banner
查询数据库的标识,即数据库类型与版本用法:python sqlmap.py 必须参数 -b
--current-user
查询数据库的当前用户用法:python sqlmap.py 必须参数 --current-user
--current-db
查询数据库中当前使用的数据库用法:python sqlmap.py 必须参数 --current-db
--hostname
查询数据库中当前的主机名用法:python sqlmap.py 必须参数 --hostname
--is-dba
检测当前的数据库用户是否为 DBA (即数据库管理员)用法:python sqlmap.py 必须参数 --is-dba
--users
枚举所有用户用法:python sqlmap.py 必须参数 --users
--passwords
枚举所有用户名密码的哈希用法:python sqlmap.py 必须参数 --passwords
--privileges
枚举所有数据库用户的权限用法:python sqlmap.py 必须参数 --privileges枚举某一数据库用户权限,用法:python sqlmap.py 必须参数 --privileges -U username枚举数据库当前用户权限,用法:python sqlmap.py 必须参数 --privileges -CU如果是 MSSQL,则只会列出用户是否为管理员而不是用户的具体权限
--roles
枚举数据库中的用户角色只要在 Oracle 数据库中可以用,其余数据库返回 --privileges 的数据用法:python sqlmap.py 必须参数 --roles其余用法同 --privileges
--dbs
枚举服务器中所有的数据库用法:python sqlmap.py 必须参数 --dbs
--tables
枚举数据库中的所有表名用法:python sqlmap.py 必须参数 --tables
--columns
枚举数据库中的所有列名用法:python sqlmap.py 必须参数 --columns
--schema
查询数据库架构,即每个列的类型,如:id 是 int 类型,name 是 varchar (255) 类型用法:python sqlmap.py 必须参数 --schema
--count
枚举每个表所包含的数据量用法:python sqlmap.py 必须参数 --count
--dump
查询指定范围的全部数据用法:python sqlmap.py 必须参数 --dump 其他参数该处的其他参数通常指 -D、-T、-C、-X、-U、--start、--stop、first、--last、--pivot-column、--where,这些参数均在后面有相应介绍
--dump-all
枚举数据库中全部数据用法:python sqlmap.py 必须参数 --dump-all
--search
搜索数据库、表、列的名称用法:python sqlmap.py 必须参数 --search 其他参数其他参数为 -C、-T、-D,这些参数均在后面有相应介绍
--comments
搜索数据库的备份用法:python sqlmap.py 必须参数 --comments
-D
指定枚举的数据库名用法:python sqlmap.py 必须参数 -D 数据库名
-T
指定枚举的表名用法:pyton sqlmap.py 必须参数 -T 表名通常情况下需先指定数据库
-C
指定枚举的列名用法:python sqlmap.py 必须参数 -C 列名通常情况下需先指定数据库和表名
-X
不枚举数据库中的某一列用法:python sqlmap.py 必须参数 -X 标识符如图:
-U
指定用户名,常和 --privileges 一起使用用法:python sqlmap.py 必须参数 --privileges -U 指定的用户名其中,使用 -CU 表示当前账户
--exclude-sysdbs
与 -X 类似,此为排除某个数据库用法:python sqlmap.py 必须参数 --exclude-sysdbs 数据库名
--pivot-colum
做数据透视用的,估计平时也很少用的上。因为可能自动选择的列不适合做数据透视,所以可以使用该参数强制指定一列。用的:python sqlmap.py 必须参数 --pivot-cloum
--where
使用 -dump 下载数据时,可以使用该参数限制条件用法:python sqlmap.py 必须参数 --where=限制条件
--start
设置一个起始位置,在下载表时,从第几行开始用法:python sqlmap.py 必须参数 --start=3
-stop
设置一个结束位置,作用同上用法:python sqlmap.py 必须参数 --stop=4
--first 和 --last
此参数仅使用 SQL 盲注根据官方的说法时可以将某一列的字符转储到另一列,但是根据我的尝试并没有成功。用法:python sqlmap.py 必须参数 --first=2 --last=4
--sql-query
执行 SQL 语句用法:python sqlmap.py 必须参数 --sql-query=SQL语句
--sql-shell
执行 SQL 的 shell用法:python sqlmap.py 必须参数 --sql-shell=shell语句
--sql-file
从给定的文件中读取 SQL 语句来执行用法:python sqlmap.py 必须参数 --sql-file=文件目录
暴力破解参数
下列选项可以用于暴力破解
--common-tables
检查记录信息的公共表。用法:python sqlmap.py 必须参数 --common-tables在以下这些情况中,不能使用 -tables 检索数据库的列名,需要使用该参数:
- MySQL 版本小于 5.0
- 数据库是 Access
会话用户对数据库的系统表没有读取权限
--common-columns
检查公共的列。用法:pyhton sqlmap.py 必须参数 --common-columns在以下这些情况中,不能使用 -columns 检索数据库的列名,需要使用该参数:
- MySQL 版本小于 5.0
- 数据库是 Access
会话用户对数据库的系统表没有读取权限
自定义函数注入参数
这些选项可以创建自定义的函数用来注入
--udf-inject
通过编译 MySQL、PostgreSQL 的共享库、DLL 和共享对象来注入自定义函数 (UDFs)用法:python sqlmap.py 必须参数 --udf-inject=文件路径用法:python sqlmap.py 必须参数 --shared-lib=文件路径仅适用于 MySQL 和 PostgreSQL详情参见链接
文件系统访问参数
这些选项可用于访问数据库系统中的文件
--file-read
从数据库系统中读取文件用法:python sqlmap.py 必须参数 --file-read=文件路径
--file-write
对数据库系统写入文件用法:python sqlmap.py 必须参数 --file-write=文件路径
--file-dest
写入文件到数据库系统的绝对路径用法:python sqlmap.py 必须参数 --file-dest=文件路径
操作系统访问参数
这些选项可以用于访问后端数据库管理的操作系统
--os-cmd
执行系统命令用法:python sqlmap.py 必须参数 --os-cmd=命令
--os-shell
创建一个 shell用法:python sqlmap.py 必须参数 --os-shell
--os-pwn
可以用来反弹 msf 下的 shell 和 vnc用法:python sqlmap.py 必须参数 --os-pwn
--os-smbrelay
获取 OOB shell,反弹 msf 下的 shell 和 vnc用法:python sqlmap.py 必须参数 --os-smbrelay
--os-bof
利用缓冲区漏洞用法:python sqlmap.py 必须参数 --os-bof
--priv-esc
自动提权用法:python sqlmap.py 必须参数 --priv-esc
--msf-path
输入本地的 msf 路径用法:python sqlmap.py 必须参数 --msf-path=本地msf路径
--tmp-path
输入远程临时文件目录的绝对路径。用法:python sqlmap.py 必须参数 --tmp-path=临时文件绝对路径
Windows 注册表访问参数
这些选项可以用于访问使用 Windows 系统的数据库中 Windows 注册表
前三个参数必须选择一个,后四个参数任选
--reg-read
读取 Windows 注册表用法:python sqlmap.py 必须参数 --reg-read
reg-add
写入一个 Windows 注册表用法:python sqlmap.py 必须参数 --reg-add
--reg-del
删除一个 Windows 注册表用法:python sqlmap.py 必须参数 --reg-del
--reg-key
表示 Windows 注册表的 key 值用法:python sqlmap.py 必须参数 前三个参数 --reg-key=key值
--reg-value
表示注册表值用法:python sqlmap.py 必须参数 前三个参数 --reg-value=值
--reg-data
表示注册表数据用法:python sqlmap.py 必须参数 前三个参数 --reg-data=数据
--reg-type
表示注册表类型用法:python sqlmap.py 必须参数 前三个参数 --reg-type=类型
其他参数 1
这些选项可以用于设置一些常规工作参数
-s
从一个.sqlite 文件中加载 session用法:python sqlmap.py 必须参数 -s SESSION文件
-t
将所有 HTTP 流量记录到文本文件中用法:python sqlmap.py 必须参数 -t 文本文件保存位置
--answers
设置预设答案用法:python sqlmap.py 必须参数 --answers=答案在执行 sqlmap 可能会多次询问选择,所以可以提前设置
--base64
设置包含 base64 数据编码的数据用法:python sqlmap.py 必须参数 --base64=需要base64编码的HTTP参数
--batch
永远使用默认设置,不询问用户用法:python sqlmap.py 必须参数 --batch
--binary-fields
如果表中具有储存的二进制值的列,可以使用该参数进行正确的处理,所有的这些字段将被检索,并用十六进制显示。用法:python sqlmap.py 必须参数 --binary-fields=使用二进制的列
--check-internet
在进行注入前,首先检测互联网是否可以访问用法:python sqlmap.py 必须参数 --check-internet
--crawl
从目标网址开始抓取网站的深度用法:python sqlmap.py 必须参数 --crawl=深度层数
--crawl-exclude
使用正则表达式排除不需要爬取的网页用法:python sqlmap.py 必须参数 --crawl-exclude=正则表达式
--csv-del
设置 CSV 格式的分隔符,默认使用逗号作为分隔符用法:python sqlmap.py 必须参数 --csv-del=","
--charset
设置盲注的字符集用法:python sqlmap.py 必须参数 --charset=字符集在基于布尔和时间的盲注 SQL 注入中,用户可以强制使用自定义字符集来加快数据检索过程。
--dump-format
设置转储数据格式,默认为 CSV,可选 HTML、SQLite用法:python sqlmap.py 必须参数 --dump-format=html或者sqlite或者csv
--encoding
设置编码,如:GBK 或者 utf-8用法:python sqlmap.py 必须参数 --encoding=GBK
--eta
显示每个输出的估计时间用法:python sqlmap.py 必须参数 --eta
--flush-session
刷新当前目标的 session用法:pyhton sqlmap.py 必须参数 --flush-session
--forms
解析在目标 URL 中存在的表单,通常这些表单在 HTML 中都是用 <form> 和 <input> 标记的用法:python sqlmap.py 必须参数 --forms
--fresh-queries
忽略储存在 session 中的查询结果,通过该参数,可以保持 session 保持不变。用法:python sqlmap.py 必须参数 --fresh-queries
--har
将所有的 HTTP 流量记录到一个 har 文件中用法:python sqlmap.py 必须参数 --har
--hex
在数据检索期间使用十六进制转换用法:python sqlmap.py 必须参数 --hex
--output-dir
自定义输出目录用法:pyhton sqlmap.py 必须参数 --output-dir=输出目录路径
--parse-errors
解析错误解析,并显示来自数据库的错误消息用法:python sqlmap.py 必须参数 --parse-errors
--preprocess
使用给定的脚本对请求数据进行预处理用法:python sqlmap.py 必须参数 --preprocess=脚本路径使用该参数可以在发送请求前对请求数据使用自定义脚本,例如将参数附加到 POST 请求中。
--postprocess
使用给定的脚本对响应数据进行预处理用法:python sqlmap.py 必须参数 --postprocess=脚本路径使用该参数可以在收到响应后对响应数据使用自定义脚本,例如将所有小写字符转换为大写
--repair
修复具有未知字符标记的项用法:python sqlmap.py 必须参数 --repair
--save
保存现在的选项到 ini 配置文件中用法:pyhton sqlmap.py 必须参数 --save=配置文件.conf可以使用 -c来读取这些 ini 配置文件
--scope
使用正则表达式从 burp 的日志中过滤所需要的主机用法:python sqlmap.py 必须参数 --scope="正则表达式"例如:
通过某些有效载荷或标题进行测试用法:python sqlmap.py 必须参数 --test-filter=有效载荷或标题使用包含某个关键词的 payload 进行检测
--test-skip
跳过某些有效载荷或标题进行测试用法:python sqlmap.py 必须参数 --test-skip=想跳过的有效载荷或标题
--update
升级 SQLmap用法:python sqlmap.py --update
其他参数 2-z
助记符,只要能确定唯一的参数,那么就可以缩写参数用法:python sqlmap.py 必须参数 -z "缩写参数"例子:python sqlmap.py -z "bat,randoma,ign,tec=BEU" -u "www.target.com/vuln.php?id=\1",其中,bat 指 --batch,randoma 指 random-agent,ign 指 ignore-proxy,tec-BEU 指 --technique=BEU
--alert
当发现 SQL 注入后,运行本机的 CMD 命令用法:python sqlmap.py 必须参数 --alert "命令"只在 Linux 环境下成功过
--beep
当发现 SQL 注入后,蜂鸣器报警用法:python sqlmap.py 必须参数 --beep
--cleanup
从 SQLmap 创建的临时表和自定义函数常用于测试结束后用法:python sqlmap.py 必须参数 --cleanup
--dependencies
检查缺少的 SQLmap 依赖的第三方库常用于检测 SQLmap 必须的第三方依赖 python 库用法:python sqlmap.py --dependencies
--disable-coloring
关闭彩色输出用法:python sqlmap.py --disable-coloring
--gpage
指定来自某一页码的 Google dork 结果,常与 -g一起使用用法:python sqlmap.py -g 参数 --gpage=12
--identify-waf
识别 WAF、IPS、IDS 等用法:python sqlmap.py 必须参数 --identity-waf
--list-tampers
列出所有本地绕 WAF 的规则用法:python sqlmap.py --list-tampers
--mobile
模拟智能手机的 UA用法:python sqlmap.py 必须参数 --mobile
--offline
在脱机模式下运行,只在当前或以前的数据,不会对服务端进行连接用法:python sqlmap.py 必须参数 --offline
--purge
安全删除 SQLmap 数据目录中的所有内容,即删除本地 SQLmap 测试的所有数据和历史记录用法:python sqlmap.py --purge安全删除意味着对该目录进行随机数据覆盖,破坏数据,防止恢复
--skip-waf
跳过 WAF、IPS、IDS 的扫描检测用法:pyhton sqlmap.py 必须参数 --skip-waf
--smart
如果只是为了找出批量检测中的 SQL 注入,使用该参数进行启发式扫描,只有让数据库报错的参数才会进一步测试,其余跳过常与 -m一起使用用法:python sqlmap.py -m 参数 --smart
--sqlmap-shell
使用该参数,可以打开一个交互式的 SQLmap SHELL,支持历史记录用法:python sqlmap.py --sqlmap-shell
--tmp-dir
更改本地临时文件储存目录用法:python sqlmap.py --tmp-dir=本地目录
--web-root
指定 Web 服务器的文档根目录用法:python sqlmap.py 必须参数 --web-root="根目录绝对路径"
--wizard
面向初学者的简单向导界面用法:python sqlmap.py --wizard该参数使用简单的工作流程,问题尽可能的少,只要输入了 URL,那么在工作流结束时,也会设置一个正确的 SQLmap 运行环境UNC 只有 Windows 系统有 《SQLmap 命令手册》链接:https://xdym11235.com/archives/sqlmap.html
具体版权规定详见侧栏版权说明页面