sqlmap命令

sqlmap

sqlmap是一款基于python编写的渗透测试工具,在sql检测和利用方面功能强大,支持多种数据库。

-u 指定目标URL (可以是http协议也可以是https协议)
 
-d 连接数据库
 
--dbs 列出所有的数据库
 
--current-db 列出当前数据库
 
--tables 列出当前的表
 
--columns 列出当前的列
 
-D 选择使用哪个数据库
 
-T 选择使用哪个表
 
-C 选择使用哪个列
 
--dump 获取字段中的数据
 
--batch 自动选择yes
 
--smart 启发式快速判断,节约浪费时间
 
--forms 尝试使用post注入
 
-r 加载文件中的HTTP请求(本地保存的请求包txt文件)
 
-l 加载文件中的HTTP请求(本地保存的请求包日志文件)
 
-g 自动获取Google搜索的前一百个结果,对有GET参数的URL测试
 
-o 开启所有默认性能优化
 
--tamper 调用脚本进行注入
 
-v 指定sqlmap的回显等级
 
--delay 设置多久访问一次
 
--os-shell 获取主机shell,一般不太好用,因为没权限
 
-m 批量操作
 
-c 指定配置文件,会按照该配置文件执行动作
 
-data data指定的数据会当做post数据提交
 
-timeout 设定超时时间
 
--level 设置注入探测等级
 
--risk 风险等级
 
--identify-waf 检测防火墙类型
 
--param-del="分割符" 设置参数的分割符
 
--skip-urlencode 不进行url编码
 
--keep-alive 设置持久连接,加快探测速度
 
--null-connection 检索没有body响应的内容,多用于盲注
 
--thread 最大为10 设置多线程

详解

–delay

有些web服务器请求访问太过频繁可能会被防火墙拦截,使用–delay就可以设定两次http请求的延时

sqlmap -u "保密(URL)" --batch --delay 10

–safe-url

有的web服务器会在多次错误的访问请求后屏蔽所有请求,使用–safe-url 就可以每隔一段时间去访问一个正常的页面。

–tamper

语法:–tamper [“脚本名称”]

当调用多个脚本的时候,脚本之间用逗号隔开,调用的脚本在 sqlmap文件夹下的 tamper 文件夹中

脚本信息
apostrophemask.py       用UTF-8全角字符替换单引号字符
apostrophenullencode.py    用非法双字节unicode字符替换单引号字符
appendnullbyte.py       在payload末尾添加空字符编码
base64encode.py        对给定的payload全部字符使用Base64编码
between.py           分别用“NOT BETWEEN 0 AND #”替换大于号“>”,“BETWEEN # AND #”替换等于号“=”
bluecoat.py          在SQL语句之后用有效的随机空白符替换空格符,随后用“LIKE”替换等于号“=”
chardoubleencode.py      对给定的payload全部字符使用双重URL编码(不处理已经编码的字符)
charencode.py         对给定的payload全部字符使用URL编码(不处理已经编码的字符)
charunicodeencode.py      对给定的payload的非编码字符使用Unicode URL编码(不处理已经编码的字符)
concat2concatws.py      用“CONCAT_WS(MID(CHAR(0), 0, 0), A, B)”替换像“CONCAT(A, B)”的实例
equaltolike.py        用“LIKE”运算符替换全部等于号“=”
greatest.py          用“GREATEST”函数替换大于号“>”
halfversionedmorekeywords.py 在每个关键字之前添加MySQL注释
ifnull2ifisnull.py      用“IF(ISNULL(A), B, A)”替换像“IFNULL(A, B)”的实例
lowercase.py         用小写值替换每个关键字字符
modsecurityversioned.py    用注释包围完整的查询
modsecurityzeroversioned.py  用当中带有数字零的注释包围完整的查询
multiplespaces.py       在SQL关键字周围添加多个空格
nonrecursivereplacement.py  用representations替换预定义SQL关键字,适用于过滤器
overlongutf8.py        转换给定的payload当中的所有字符
percentage.py         在每个字符之前添加一个百分号
randomcase.py         随机转换每个关键字字符的大小写
randomcomments.py       向SQL关键字中插入随机注释
securesphere.py        添加经过特殊构造的字符串
sp_password.py        向payload末尾添加“sp_password” ``for` `automatic obfuscation ``from` `DBMS logs
space2comment.py       用“``/**/``”替换空格符
space2dash.py         用破折号注释符“--”其次是一个随机字符串和一个换行符替换空格符
space2hash.py         用磅注释符“#”其次是一个随机字符串和一个换行符替换空格符
space2morehash.py       用磅注释符“#”其次是一个随机字符串和一个换行符替换空格符
space2mssqlblank.py      用一组有效的备选字符集当中的随机空白符替换空格符
space2mssqlhash.py      用磅注释符“#”其次是一个换行符替换空格符
space2mysqlblank.py      用一组有效的备选字符集当中的随机空白符替换空格符
space2mysqldash.py      用破折号注释符“--”其次是一个换行符替换空格符
space2plus.py         用加号“+”替换空格符
space2randomblank.py     用一组有效的备选字符集当中的随机空白符替换空格符
unionalltounion.py      用“UNION SELECT”替换“UNION ALL SELECT”
unmagicquotes.py       用一个多字节组合%bf%27和末尾通用注释一起替换空格符 宽字节注入
varnish.py          添加一个HTTP头“X-originating-IP”来绕过WAF
versionedkeywords.py     用MySQL注释包围每个非函数关键字
versionedmorekeywords.py   用MySQL注释包围每个关键字
xforwardedfor.py       添加一个伪造的HTTP头“X-Forwarded-For”来绕过WAF

加粗样式
**

-v [“x”]

使用sqlmap注入测试时,可以使用 -v [x] 参数来指定回显信息的复杂程度, x 的取值范围为[0~6]:

等级解释
0只显示python错误以及严重信息
1同时显示基本信息和警告信息
2同时显示debug信息
3同时显示注入的pyload
4同时显示HTTP请求
5同时显示HTTP相应头
6同时显示HTTP相应页面

–level

level有5个等级,默认等级为1,进行Cookie测试时使用–level 2 ,进行use-agent或refer测试时使用–level 3 ,进行 host 测试时使用–level 5

–-os-cmd=[“命令”] 或 --os-shell=[“命令”] 执行系统命令

sql注入检测

get型:

语法:sqlmap -u [“url”]

post型:

先使用bp把提交的数据包保存下来

语法:sqlmap -r [“请求包的txt文件”]

获取当前数据库名称:

语法:sqlmap -u [“url”] --current-db

获取当前数据库名称:

语法:sqlmap -u [“url”] --current-db
获取指定数据库指定表中的字段:

语法:sqlmap -u [“url”] -D [‘数据库名’] -T[‘表名’] --columns

获取指定数据库指定表的指定字段的字段内容:

语法:sqlmap -u [“url”] -D [‘数据库名’] -T [‘表名’] -C [‘字段名1,字段名2,…’] --dump

获取并查看数据库信息

–dbs 列出全部数据库

–current-db 列出当前数据库

-D 数据库名 --tables 列出指定数据库的所有表

-D 数据库名 -T 表 --columns 列出指定数据库,指定表里面的所有字段

-D 数据库名 -T 表 -C “字段” --dump 列出指定字段的所有内容

sqlmap -u "保密(URL)" --dbs --batch --delay 5

设置测试等级

–current-db 列出当前数据库

–level

level有5个等级,默认等级为1

进行Cookie测试时使用–level 2

进行use-agent或refer测试时使用–level 3

进行 host 测试时使用–level 5

sqlmap -u "保密(URL)"  -level 2 --current-db --batch --delay 5

Brute force:(暴力)

–common-tables 暴力破解表

–common-colomns 暴力破解列

vel 2

进行use-agent或refer测试时使用–level 3

进行 host 测试时使用–level 5

sqlmap -u "保密(URL)"  -level 2 --current-db --batch --delay 5

Brute force:(暴力)

–common-tables 暴力破解表

–common-colomns 暴力破解列

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@Y.lin

别急,好运都藏在努力里~~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值