freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

​零散漏洞组合导致的攻击
2019-10-11 14:21:26
所属地 湖南省

原创:会上树的猪合天智汇

原创投稿活动:https://mp.weixin.qq.com/s/Nw2VDyvCpPt_GG5YKTQuUQ

01前言

夜班倒班,闲来无事又打起来学校教务网的主意,抄起burpSuite就开始,然后就有了这篇没啥水平的文章。

02零散漏洞之一

零散漏洞之一:家长成绩查询接口处未失效的验证码(这个漏洞使用自己的账号进行挖掘)

接口的入口如下图:传递姓名,***号和验证码三个参数:

v2-5de4cfedc45759adb5507386e54e07bd_hd.w

使用自己的账号测试,先输入错误的***号,然后输入错误的***号,期间发现验证码存在未失效行为,根据返回值的不同可以进行区别。

v2-85365b5c596fe5266064ec475ad967ac_hd.w

v2-fe9040ae9f94bb47af94e5cd244ecc8f_hd.w

以上两处除了***尾号不同其余相同。当输入正确时返回一串代码

漏洞利用方式:此处由于验证码机制存在逻辑问题,在一定时间内会一直处于有效状态,那么便可以利用漏洞来进行***号码的爆破。但是鉴于纯***的暴力拆解量级过高,所以需要其他信息来缩小爆破范围。

03零散漏洞之二

不合理的登录参数设置,与不合理的数据脱敏处理。

承接上一处漏洞,我们要缩小暴力猜测***号的范围,最好的方式便是利用***号的规律性,来生成合理的***号。当然此处不会使用盲猜一大堆***信息,因为我发现了一处对***号脱敏不合理的信息泄露,利用此处泄露可以大大缩小猜测的范围,这个等下说。

首先说一下这个不合理的登录参数设置:在某收支平台有一处接口,采用的是学生学号和姓名作为登录校验的参数,而这两个参数实际情况下是很容易便能或取到的,因此此处的登录参数设置不合理。

v2-3b837f793b8b888d46bf9c809910feb5_hd.w

不过,如果我要攻击一个我从来都不认识的人,那么很显然名字信息我应该是比较难或取到的,但是学号信息因为是存在规律的,那么我盲猜一个学号便可以了,接下来就是或取这个学号对应的姓名,这就要利用到之后的漏洞了。

04零散漏洞之三

陈旧系统的默认弱口令登录导致泄露低敏感信息。

承接上面,我们现在已经有一个学号了,要或取他的姓名。经过一番摸索,我发现在某图书管理系统下,存在一个弱口令登录的漏洞,这个系统登录之后可以管理自己在图书馆借阅的书,但是实际上大家都不怎么使用这个功能,而且系统开发的年头比较长,基本无人维护,因此此处基本所有学生的密码都是弱口令。我要利用此处的弱口令来或取学生的姓名信息。

登录接口如图下:没有验证码,只需要输入学号和密码

v2-47db5786a73910a6fc8d9a9b0aacd18a_hd.w

使用刚才的学号和猜测的弱口令登录查看学生姓名:

v2-410b98428dce72f90742fbf3c3a89da6_hd.w

成功获取了学生姓名,那接下来就可以登录之前的支付平台了。

实验:弱口令漏洞

v2-ddf65f1e7f56adcd0c637be56a489c52_hd.w

(了解常见的Web漏洞之漏口令漏洞)

05 ***字典的生成

现在我们已经成功登录到支付平台了,这支付平台存在的一个小问题便是对***信息的不安全脱敏。我们先看一下他的脱敏方式:

v2-3504f14d29c7ae7a5333bd3800b79885_hd.w

介于不能暴露过多信息,所以打码严重,他的脱敏方式如例:123*******456,输出前三位和最后三位,那么问题便存在此处。

我们都知道***号码是有自己的生成规则的,6位行政区编码+8位生日信息+2位辖区派出所编码+1位性别码+1位校验码。根据它给出的前三位信息,那么我们可以将行政区代码缩小,如前三位为500(重庆),那么我们可以根据行政区编码将前六位直接缩小到重庆市的全部行政区编码。中间8位生日码可以采用可以根据被攻击人的年龄大致猜测,然后缩小到一定范围,之后倒数第三位和它的前一位一起构成辖区派出所的编码,一般能办***的不多,所以范围较小,性别标识已经给出,不用管了,最后也是最关键的一个敏感信息便是***的校验码了,***的最后一位是校验位,由于没有对其进行脱敏,那么我们便可以通过这个校验位筛选构造出错的***号码。具体算法见脚本:

v2-ce555912d07f3c7903ed809a7ddf4b00_hd.w

v2-b6928b52201053ede78382f0f50cd316_hd.w

v2-b1b3e6f91cc81ec4f62443f3c04705ce_hd.w

通过上面的一系列漏洞,已经能够拿到一个较小范围的***号字典了,接下来就是利用最开始的漏洞进行爆破了。

实验:python打造高精度字典生成器

v2-ea6de9b8813061bb7d956cd2ecc9d063_hd.w

(了解python的exrex第三方库,并利用这个库编写一个高精度字典生成器)

06***爆破

懒得写脚本了,直接采用burp爆破,导入字典,生成payload:

v2-bf97e9ecc9a33c91e88a3931557e8249_hd.w

v2-9273879cdd2592958a40bf851c49c3e1_hd.w

攻击开始,与攻击结果分析:

v2-e0ab6177b045e177e14af0846e7749cf_hd.w

v2-94cb91124ab400d1b76bbfa056a6a020_hd.w

根据上面的爆破便成功获取了这位同学的***号码了。

07继续进击

通过这个同学的***号码,我成功进入了学校的一个服务门户:

v2-8e3d3ff9ac3cee171904085f4cd0d18f_hd.w

然后准备去进入一下教务网,又发现了一个新的漏洞:教务网密码找回点存在暴力猜解。

v2-24b19314f6c65a823ed7ad44b5ab765a_hd.w

此处修改密码只验证了账号和***号码,那么便存在暴力破解的风险。如果没有之前的未失效验证码漏洞,估计就要使用这个接口来进行暴力猜解了。就不重置他的密码了,影响不好。。。

学校还存在其他许多使用到***登录的地方,因此被攻击了***之后导致的信息泄露还是挺严重的。

实验:暴力破解

v2-30f8a02e3fb3d4ab310b4f5a87cf010c_hd.w

(以最简单的一种形式展示暴力破解的原理和利用方法)

08总结

此次渗透一共发现了五处存在风险的接口或功能,虽然都不是能够直接产生很大影响的漏洞,但是将这些漏洞组合起来便会产生很大的效果,例如上面的漏洞组合起来,完全可以去获取任意用户的***,然后进一步进行渗透利用。而这一次渗透中有两个我觉得又比较关键了:一个便是对于年限较长,不再进行维护的系统,应该及时下线,否则有可能被黑客攻击与利用,获取或多或少的信息。另外一个就是对于数据的脱敏处理:一定要结合一下实际情况,考虑哪些地方应该进行脱敏,就如这一次的***爆破,如果不是校验位暴露,那么***的字典便会大上10-100倍,严重影响爆破的效果。最后在本次测试时中自己的成长就是:要学会注意细节问题,任何小的漏洞一起组合都有可能产生较大的影响。

声明:作者初衷用于分享与普及网络知识,若读者因此作出任何危害网络安全行为后果自负,与合天智汇及原作者无关。


# 合天智汇
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者