SQLmap使用

一、确定目标

sqlmap -u "URL"

通过URL进行确定,GET方式时:此处为带参数的URL

-m URL文件

可以创建URL文件批量进行扫描

sqlmap -r 文件

结合Burpsuite抓包进行
首先设置代理访问网站,然后找到具体页面的请求包,将请求包选中右击创建文件
在这里插入图片描述
示例:
将上图创建好的文件放置桌面,起名为post
sqlmap 通过-r参数选中
在这里插入图片描述
对于POST请求的,也可通过-u "URL" --cookie "访问网站时的cookie信息"

--forms

如果是post方法提交的表单,由于没有参数可以通过此参数来告诉sqlmap对表单进行检测

--param-del 符号

当URL存在多个参数时,且参数间的分隔符不是默认的&,此时通过此参数指定分隔符号来告知sqlmap对注入参数的识别。如:http://www.sdsdsd.com/sss.php?id=1;sid=2;uid=3 此时就可以通过–param-del “;” 来指定

二、关于数据库的参数

--privileges

查看数据库管理系统用户的权限

--is-dba

查看当前数据库用户和是否是管理员权限

-p 参数名

当URL中参数过多,可以指定参数进行测试

--data "参数=值"

通过POST发送数据参数

--dbms=数据库类型

指定数据库类型,当已知目标的数据库类型最好指定,此时测试的语句只会测试指定数据库类型

–-batch

当需要手工输入Y/N来进行下一步操作时,加入此参数表示使用默认方式

--dbs

对于已经存在注入的网站进行数据库查询

--current-db

查看当前使用的数据库

--users

查看数据库所有的使用者

--current-user

查看当前数据库使用者

--passwords

爆出所有使用者数据库密码

--tables 

数据表查询(默认查询所有数据库的数据表),参数:指定某个数据库-D "数据库名"也可以添加--count用来查看每个表都有多少行的数据
在这里插入图片描述

--columns

数据列(字段)查询,参数:指定数据表和数据库-T "数据表名" -D "数据库名"

--dump

字段内容,参数:-C "字段1,字段2,......" -T "表名" -D "数据库名";若内容过多可以指定导出其中的几行--start 起始行 --stop 最后一行如果需要将全部字段都显示出来可以使用--dump-all

暴力破解数据库表名列名

--common-tables
--common-columns

当数据库为Access和MySQL5.0版本以下时,由于没有元数据库提供查询所以需要进行暴力破解

三、绕过或检测WAF、IDS、IPS及优化

--identify-waf

检测目标网站是否存在WAF

 -–random-agent

随机产生HTTP User-Agent头值

--skip-waf

跳过WAF/IPS / IDS启发式检测保护

--mobile

设定一个手机的User-Agent来模仿手机登陆

--smart

只对能够快速判断为注入的报错点进行注入,当使用-m对多个站点进行注入时可以采取此方法

--offline

在离线模式下工作(仅使用会话数据)

--proxy "http://URL:端口"

设置代理

 –proxy-cred=代理认证凭证(name:password)

设置代理

--host "内容"

修改http请求头中host的选项

--refer

修改http请求中的refer选项

--level 等级

测试的等级(1-5)默认为1
level2时添加对cookie的注入
level3时添加对http user-agent和referer的注入

--risk 等级

风险等级为1-4,默认为1会测试大部分语句
2 增加基于事件测试语句
3 增加or语句

--threads=THREADS

当前http(s)最大请求数 (默认 1)

--safe-url:提供一个安全不错误的连接,每隔一段时间都会去访问一下。
--safe-freq:提供一个安全不错误的连接,每次测试请求之后都会再访问一边安全连接。

有的web应用程序会在你多次访问错误的请求时屏蔽掉你以后的所有请求,这样在sqlmap进行探测或者注入的时候可能造成错误请求而触发这个策略,导致以后无法进行。

关于时间的参数

--delay=秒数

可以设定两个HTTP(S)请求间的延迟,设定为0.5的时候是半秒,默认是没有延迟的。

--timeout

http请求当发送之后多少秒未回应会被标记为超时,默认为30秒,可以修改为10即为10秒未回应标记超时

--retries

超时重连的尝试次数,默认为3

--time-sec

延时注入时设置延时的时间默认为5秒

四、操作系统及数据库

--os-shell

获取服务器的权限,执行系统命令。前提:1、网站数据库为SQL Server、MySQL;2、当前用户必须具有数据库管理员权限;3、获取网站的路径

--sql-shell

相当于进入虚拟终端来执行sql语句只能进行查询、load_file(),无法插入

五、其他

-v 等级

等级为0-6,默认为1
0 只显示python错误及严重的信息
1 同时显示基本信息和警告
2 同时显示debug信息
3 同时显示注入的payload
4 同时显示http请求
5 同时显示http响应头
6 同时显示http响应页面

-g google语法(如:inurl:.php?id)

从谷歌中加载结果目标URL(只获取前100个结果,需要挂代理)

--flush-session

清除缓存

--search -C/D/T "搜索内容"

搜索在字段/数据库/数据表名中包含搜索内容的信息
在这里插入图片描述
在这里插入图片描述
1为模糊匹配,2为全匹配
在这里插入图片描述
最终显示搜索到字段中包含pass的这个dvwa数据库中的users表

六、脚本

–tamper unmagicquotes.py 宽字节注入脚本
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值