HACK80

我们很年轻,但我们有信念、有梦想!

我们坚信只有今天付出了,才有机会看到明天的太阳!
现在!加入我们,给你一个气氛优秀的技术圈子

作者: admin
查看: 8665|回复: 42

主题标签Tag

more +随机图赏Gallery

2017年中旬WEB渗透系列课程-18上传绕过方法演示2017年中旬WEB渗透系列课程-18上传绕过方法演示
2017年中旬WEB渗透系列课程-17了解上传检测方式2017年中旬WEB渗透系列课程-17了解上传检测方式
2017年中旬WEB渗透系列课程-16解析漏洞演示2017年中旬WEB渗透系列课程-16解析漏洞演示
2017年中旬WEB渗透系列课程-15XSS绕过集合2017年中旬WEB渗透系列课程-15XSS绕过集合
2017年中旬WEB渗透系列课程-14XSS能干什么2017年中旬WEB渗透系列课程-14XSS能干什么
2017年中旬WEB渗透系列课程-13XSS漏洞检测2017年中旬WEB渗透系列课程-13XSS漏洞检测
2017年中旬WEB渗透系列课程-12XSS分析及演示2017年中旬WEB渗透系列课程-12XSS分析及演示
2017年中旬WEB渗透系列课程-11注入的其他姿势2017年中旬WEB渗透系列课程-11注入的其他姿势
2017年中旬WEB渗透系列课程-10基于提交方式注入的分析2017年中旬WEB渗透系列课程-10基于提交方式注入的分析
2017年中旬WEB渗透系列课程-09Mysql注入跨库2017年中旬WEB渗透系列课程-09Mysql注入跨库

公开课第十节-Mysql盲注技术

[复制链接]
admin 发表于 2014-6-20 22:38:47 | 显示全部楼层 |阅读模式
查看: 8665|回复: 42
关注微信公众号,了解最新安全资讯。

马上注册,加入HACK80!与我们一起交流。

正式会员需要 登录 才可以下载或查看,没有帐号?立即注册

x
本节课内容主要为Mysql盲注技术教学
捕获.PNG

视频长度:34:00
视频下载:
游客,如果您要查看本帖隐藏内容请成为正式会员后回复

文字说明:
大家好,欢迎来到由HACK80为大家带来的大型公益培训系列教程。。
我是本系列课程的讲师。
我的QQ是1662534536
我们的网址是 http://www.hack80.com

恩,今天所要讲的内容是mysql盲注技术。

盲注(blind sqlinjection)
盲注也是注入的一种,但是不能像平常那样,通过页面的显示位来获取数据
盲注的世界里只有true和false
盲注的类型。
攻击者根据其返回页面的不同来判断信息(可能是页面内容的不同,也可以是响应时间不同)。一般情况下,盲注可分为三类。
单词可能写错了啊,英语渣比,哈哈

首先来演示一下。我新建了一个数据库和两个表,若干字段。
首先,我们正常的查询一下,users表中的值
我打这些语句应该都能懂吧,我记得我前几节课似乎说过的吧。
时间类型的盲注一般是两个函数sleep和benchmark。
然后我自己在本地搭建了一个站点,是根据页面返回正确和错误来判断的。
本来是想给大家演示个sina的盲注,前两天看了一下,修复了。就算了。
在网页上的话,这些就是显示位。
我们看一下sleep
2 rows in set (0.00 sec)
因为有联合查询,所以是两条语句,执行的时间注意一下,是0秒
1 row in set (5.00 sec)
使用了5秒。
这就是sleep的功能,那我们怎么来判断注入呢,
我们知道,id这个字段是存在的。
所以是正常查询出来的,花费5秒
而在页面上的话,就是页面要响应5秒。
那么我们来查询一个不存在的字段
直接抛出错误了。
这样的话,页面直接就错误了,
从28行到33行
我说这些,应该能理解吧。
这就是判断字段是否存在的方法。
如果字段正常存在的话,页面会响应5秒,不存在的话就直接异常。
接下来看benchmark
我想一下啊,要用什么字段
我日,语句错了,我看一下。
草,多括号少括号,,视力不好啊。。蛋疼
时间有点短,我加多一点
先说一下,ord是进行ascii编码的函数
substring应该都明白吧,是截取字符串。
我们先来看一下admin这个表的内容
id为1的username的第一个字符是a  a的ascii值是97
小写的a的ascii值是97
当查询正确的时候,会响应一段时间,然后正常的查询出来,
如果查询错误的时候,就不会响应那个时间也就是不会执行benchmark这个函数。
再演示下,注意语句执行的时间,我草他大爷,这输入法。。
这是查询username这个字段的第一个字符的ascii值是96。
可以看到,应该正常出现的显示位没有出现,执行的时间短,说明错误了,也就是说
username这个字段的第一个字符的ascii值不是96
看到了,当为97,也就是正常值的时候,显示位是出现的,而且有响应的时间。
晓得了吧,因为盲注的世界里只有true和false,只有用页面的正常或错误来判断数据。
好的,就说这么多吧,下面来实例演示。
这个是metinfo cms,网上有代码审计的过程,由于之前我也在看代码审计,
也同样审计出了一个盲注。
为了节省时间,我们就直接打开页面来操作吧。
单引号报错了
正常
错误。
说明已经存在了注入。
到这里呢,我们可以直接使用sqlmap来跑,但是在实际的渗透中,有些奇葩的情况,工具跑不了
只能手工了,算了,我就不演示sqlmap了,应该都会吧?

AND/OR time-based blind
看到了,是一个盲注blind
那么继续,下面来判断当前数据库的长度
换下歌
and length(database())>10
看看长度是不是大于10
大于4正常 大于五错误
说明长度就是5
看到了,5的时候返回了正常
and ascii(substring((database()),1,1))>97
这是看当前数据库的名字的第一个字符的ascii值是不是大于97 也就是a
108正常 109错误 那就是109了
也就是说,第一个字符是m
下面就看操作吧,
109  101  116 53 48
由于长度刚才测试出了,是5
所以查出5位就行了
我们对应着查一下
met50
能判断是met50是数据库名。
我们来看一下数据库,是不是真的存在这个
存在吧。
嗯,这就是步骤了。
以下关于字段 表的就不多介绍了
大家回去自己试试吧。

这套cms是metinfo 5.0版本
大家回去自己下一个,按照我之前讲的内容在虚拟机上搭建php环境,然后自己测试。
通过手工,能够把字段和表爆出的,发到论坛上,我们伟大的站长会给大家金币的哦。
哈哈

手工真的挺麻烦的。。。

行了,不多说了。大家回去自己再研究下吧,

最后说一下
希望大家多多上http://www.hack80.com
进行讨论。
我们下节课再见吧。88

评分

参与人数 1金币 +2 收起 理由
local + 2 很给力!

查看全部评分

harvey1109 发表于 2014-6-21 04:29:47 | 显示全部楼层
新手继续来学习
local 发表于 2014-6-21 09:31:30 | 显示全部楼层
来学习了
2Sr 发表于 2014-6-21 11:17:07 | 显示全部楼层
楼主  继续淫荡吧
眷恋轮回 发表于 2014-6-21 11:34:04 | 显示全部楼层
来支持了哦!!!!!!!!!!!!!!!!!!!
擦亮眼睛看星星 发表于 2014-6-21 14:34:49 | 显示全部楼层
好好哈哈哈哈哈哈
沉默 发表于 2014-6-21 19:12:06 | 显示全部楼层
好好好。。。。。。
mysoft 发表于 2014-6-22 13:58:52 | 显示全部楼层
回复中。。。请稍后。。。
SUN_CY471 发表于 2014-6-22 17:11:41 | 显示全部楼层
不错 支持。。。。。
暗精灵、 发表于 2014-6-22 19:57:01 | 显示全部楼层
我来晚了
正式会员需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|HACK80 ( 沪ICP备15007512号 )

GMT+8, 2017-8-22 13:22 , Processed in 0.079292 second(s), 34 queries .

Powered by Discuz! X3.2 © 2001-2013 Comsenz Inc.