sqlmap使用

sqlmap使用

一sqlmap支持的sql注入技术

默认使用以下六种技术, --technique参数设置使用具体技术
B基于布尔盲注,即根据返回页面判断条件真假的注入
E报错注入,即页面返回报错信息,或者把注入的语句的结果直接返回在页面中
U查询注入,可以使用union的情况下的注入。默认查询十列 。--union-cols 整数-整数 增大查询列的范围 。默认查询字符为null,可以通过--union-char 字符设置相应字符
S堆叠注入,可以同时执行多条语句的执行时的注入
T基于时间盲注,即不能根据页面返回内容判断任何信息,用条件语句查看时间延迟。--time-sec 数 设置等待时间,默认为5秒
Q内联查询注入

二sqlmap基本探测

直接连接数据库

sqlmap -d "mysql://用户名:密码@ip地址:端口/数据库名" --sql-shell(可选参数,进行shell管理)

对url探测

get方式:sqlmap -u "url"
post方式:sqlmap -u "url" --data "post数据"
cookie方式:sqlmap -u "url" --cookie "cookie数据"。--cookie-del 设置cookie分隔符。--load-cookies 通过带有cookie的文件进行探测注入。--drop-set-cookie如果响应中使用set-cookie设置了新的cookie,sqlmap会在之后的探测中使用它,可以用这个参数忽略新cookie。如果是对cookie进行注入则要通过--level 2及以上

对文件探测

-l从bp等读取http日志请求文件
-m读取文件中多个url,同时对多个url进行探测
-r主要用来检测http请求信息如user-agent中是否存在注入
-c从sqlmap.config读取配置好的信息进行探测
--scope="正则表达式"筛选文件中的一些信息

三sqlmap枚举

枚举数据库名--dbs
枚举数据库表--tables
枚举列名--columns
枚举数据--dump
--users枚举用户名
--password 枚举用户密码
--role 枚举用户权限

四sqlmap性能优化

--keep-alive 设置持久连接,加快探测速度
--null-connection 检索没有body响应的内容,多用于盲注
--thread 最大为10 设置多线程
-o 开启所有默认性能优化
-smart 快速判断,节约时间
设置延迟 --delay 时间 。当页面无变化,布尔无真假,从来不报错时用延时注入
设置超时 --timeout 时间
设置重新连接次数 --retries 次数

五sqlmap指定注入

-p 指定具体探测参数
*加到参数的后面,指定url或者报文头上的一些参数进行探测
--os 操作系统 sqlamp会自动识别,但也可以以此指定
--dbms 数据库类型 sqlamp会自动识别,但也可以以此指定

六使用temper脚本

tamper脚本使用(sqlmap目录下,tamper文件夹存放)
--temper “脚本名称,多个脚本用逗号分隔”

七其它参数

--level 1-5 执行的测试等级,默认为1,cookie在2时测试,use-agent在3时测试。一些探测只有设置值达到一定等级时才探测
--batch 自动选择yes
--risk 执行风险等级,默认为1,2增加基于事件的测试语句,3增加or语句的sql测试
--identify-waf检测防火墙类型
--param-del="分割符"设置参数的分割符
设置http协议私钥 --auth-file 包含私钥证书的文件
--skip-urlencode 不进行url编码

八sqlmap对http参数的注入

用sqlmap探测,它的user-qgent会有特定的值,容易被检测过滤,所以可以使用如下命令更改
--user-agent=""设置指定的值
--random-agent 从自带的文件中随机选取一个值
如果是对user-agent进行注入,可以在文件的相应参数后面加* 否则应该使--level 3及以上
如果对host注入的level应该为5
如果对refer注入level应该为3

设置http认证参数

--auth-type 有basic ntlm digest
--auth-cred 语法为username:password

九sqlmap进行命令执行

--os-cmd="命令"(要知道网站的绝对路径)
sqlmap写webshell
--os-shell
上传自己的wellshell,--file-write "本地文件地址" --file-dest "目标文件地址"

十sqlmap设置代理

隐藏自己的真实ip
--proxy http://ip:端口
--proxy-file 使用一个包含多条代理的文件中的代理
--proxy-cred 语法为username:password

posted @ 2019-08-11 17:55  启林O_o  阅读(1309)  评论(0编辑  收藏  举报