SRC实战 | 记一次意外的通杀之旅
2023-5-23 23:59:14 Author: 渗透安全团队(查看原文) 阅读量:18 收藏

由于微信公众号推送机制改变了,快来星标不再迷路,谢谢大家!

小白初入渗透,想获得一个教育SRC的漏洞证书,觉得某学院是比较好看的,而且只需要10rank,不是很多,对我这个小白很友好,因此就开始了本次的渗透之路(意外的收获了小通杀)。

首先是对此学校的站点进行了地毯式搜索,当时的思路是这样的:大多数人在挖证书站的时候,都是找的edu.cn这种域名的,那这样的话edu域名的肯定被其他师傅找过很多次了,存在漏洞的概率要小一些。所以我反其道而行之,搜索站点时,摒弃以edu.cn结尾的站点,这样找到的站点相对来说比较冷门些(小白的个人见解)

当时使用的是鹰图,为了尽可能多的搜集相关站点,使用body参数进行搜集,具体语法如下

body="xx学院"&&domain!="edu.cn"

而后经过不懈努力,我这个会点鼠标的猴子在浏览数百个站点后,找到了我们的这个可疑站点。

弱口令

拿到这个站点后,当时它的界面如下所示

对于这种站点,我的想法是首先尝试下弱口令,因此尝试了admin/admin,admin/123456,admin/admin888这些,而后发现admin/123456可成功登录站点,

幸运的拿到了一个证书站的管理员权限

它的学生管理处存储了大量学生信息

获取到了大量学生数据。第一个漏洞此时就出现了,存在危害的弱口令漏洞。

垂直越权

当时看到这个学生管理界面的时候,就想到一种情况:即登录学生账号时,访问该接口,能否成功访问到此接口并获取学生数据呢,接下来进行测试。

在使用管理员登录成功后,打开Burpsuite,点击学生管理时进行抓包,从而获取它的接口

成功找到接口,与该站点进行拼接,得到https://xxx.com/admin/bas/bas_student_list.html?_t=234316&_winid=w1176

接下来登录学生账号,从学生管理中借用一个学号,此时便有账号了,但密码是什么呢?转念一想,既然管理员账号密码都是弱口令了,那学生账号会不会也是弱口令呢,随手输入一个123456进行尝试,结果如我们所料想的一般,的确是弱口令。

接下来访问刚刚获取到的的接口

成功获取到学生具体信息,但有些乱码,不过不影响整体。

同类站点寻找

在发现这个漏洞后,我发现它的登录界面提示了xxx科技,然后就萌生了一个想法,这会不会有多个学校使用此系统呢,然后我就开始了同类站点的寻找之路。

Icon图标

一般寻找同类站点的话,首先想到最快捷的方法就是通过它的icon图标进行检索,所以我们进行打开F12,然后刷新网站,打开网络

此时就会发现favicon.ico图标,我常用的搜索方式有两种,一种是用hunter,一种是用fofa,但fofa搜icon图标貌似结果总是不尽人意,所以这里用hunter来进行搜索,打开鹰图后,点击图标检索

接下来进行搜索即可

此时可发现180多个高校在使用此系统,此时就可以通刷了。

关键词搜索

但我第一次并不是用上面的方法来寻找同类站点的,不然也不至于edu也只有那么点分了,当时我只注意到了内容中含有xxx科技,因此我在hunter中以如下语法进行了搜索

web.body="xxx科技"&&title="学院"&&icp.name!="公司"

当时用这种方法进行了搜索,显而易见,资产少了很多,因此当时只刷了一点点分数。

因为第一次测试时,由于提交时间问题,导致只有寥寥数个站点成功通过了审核获取了一些rank,因此心有不甘,然后开始了自己的第二次测试之旅

Spring boot敏感信息泄露

用Dirsearch进行目录扫描后并没有发现什么路径,因此自己尝试进行拼接路径,加上/admin、/login这些,而后发现

一眼顶真,这是Spring boot的经典报错界面,关于Spring boot的一些漏洞,关于它,可以参考这篇文章https://www.freebuf.com/articles/web/271347.html

后来经测试发现访问http://xxx/actuator可以访问到界面

发现有多处敏感信息泄露,而这个漏洞是由于配置不当引起的Actuator路由泄露,它这里比较危险的就是我们发现这里有heapdump泄露,heapdump是一个二进制文件,它存储了JVM内存信息,可以根据它来分析出明文密码。

访问https://xxx/actuator/heapdump即可下载该文件

对于该文件的分析,常见的有以下几个工具

1、jvisualvm(电脑自带)
2、Eclipse Memory Analyzer(MAT)
3、heapdump_tool

它可以打开heapdump文件,然后我们用如下语句进行密码搜索

Spring boot 1.x版本:select s.value.toString() from java.util.Hashtable$Entry s where /password/.test(s.key.toString())
Spring boot 2.x版本:select s.value.toString() from java.util.LinkedHashMap$Entry s where /password/.test(s.key.toString())

但这个有些不方便,同时有时候会搜索不出密码,因此我们不选择这个。MAT与它类似,只是搜索语句变了,具体如下

Spring boot 1.x版本:select  from java.util.Hashtable$Entry x WHERE (toString(x.key).contains(“password”))
Spring boot 2.x版本:select  from java.util.LinkedHashMap$Entry x WHERE (toString(x.key).contains(“password”))

我们这里采用的方式的话,是用自动化工具heapdump_tool来进行自动提取,工具链接如下

https://github.com/wyzxxz/heapdump_tool

它本质上是基于jhat,通过jhat解析heapdump文件,从而实现密码等关键词的获取

此时可以在输入heapdump后,只需要输入关键词password,就可以查询出相关密码,这里可以看到一些密码

jasypt.encryptor: pig
rabbitmq: guest
redis:xxxxx._168

jasypt.encryptor这个是加密算法,pig应该是密钥,不过这里的话因为代码能力烂的一批,未进行深入。

rabbitmqredis在测试后,发现连接不起来,可能是由于并未开启远程服务,因此对于Spirng boot 就止步于此了,同理在同系统的其他站点后测试发现存在heapdump泄露,又是一次小通杀。

水平越权

在发现其他站点后发现存在一个证书站,因此单独对这个站进行了测试,依旧是信息搜集收集学号。

而后尝试弱口令密码123456,发现成功登录

此时提示修改密码,可以使用F12,将这个修改密码的窗口给删去,从而实现访问其他功能点(非必要情况下不建议修改密码),而后我们可以打开Burpsuite,点击一些比较敏感的功能点,比如,个人信息处、查看成绩处、查看课表处这些接口,看是否存在一些参数,如果存在的话,是可能存在越权的。

而后在查询成绩的这个接口,即admin/stuTermScore/uidSelect?uid=122&_=1669192062363这里发现了参数uid

可以发现它是能够查询出姓名和学号的,因此我们尝试更改uid参数,看是否可以查看其他人的相关信息

此时发现修改uid参数的值后,成功查询处另一个人的相关信息,因此说明存在水平越权漏洞。这个是相对来说危害较大的,还有两个其他的,即查询课表处和查询成绩处。

查询课表处,这个接口是admin/stuTeacherCurriculum/stuTeacherCurriculum?stuTermScoreid=&stuid=3829,此时可以发现存在参数stuid,更改此参数后可以查询不同学生的任课教师和对应课程信息

查询成绩处,这个接口是admin/measure/countGraduationScore?userId=10&_=1669192463940,发现参数userid,更改参数值即可查看其他人成绩

因此这个站点的话,是找到了三个水平越权点,提交后也是成功水到了一个中危漏洞。

因为技术有限,在挖新站点的漏洞时总是没思路没进展,所以兜兜转转还是回到了这个系统,并开始了第三次测试之路,这次也是异常的顺利,看了不久就找到了一个漏洞

日志泄露接管管理员权限

在登录一个学生用户后查看界面

此时发现有个查看更多的功能点,点击后可查看自身的登录日志及其他日志,F12再点击此功能

可以发现接口是/admin/sys/syslog.html?winid=w9479&t=126812,这里直接进行访问

此时可以发现这个疑似是直接访问到了全部用户的日志,选择时间较早一些,可看见数万条日志,而后我们这里发现有很多可填的地方,我们尝试在创建者处添上admin,在日志类型处选择登录日志

此时成功发现了admin的登录日志,且他们提交的数据中含有password参数,选中数据处右键查看源代码即可看到密码

这里由于密码与公司名相关,所以也加码了,还望师傅们理解。

假设公司名为大家好,这里的密码就是DaJiaHao._1405

不过这也为师傅们提供了一个密码爆破的思路,即通过公司名来猜测密码。

同时这里发现多个不同学校使用同一密码进行登录,因此猜测这是一个多站点通用的密码,而后在其他站点进行尝试,成功登录,验证了自己的猜想。

点击学生管理处可以看到学生数据

选中某条记录,点击学生详细

此时可以发现包括sfz号以及住址都可查看,敏感信息泄露较多,且学生数据有数万条,危害程度显而易见。

其他站点亦是如此,因此通过这次又成功接管了多所高校的管理员权限,这次成功混了一些rank,兑换自己的证书绰绰有余,本次测试就心满意足的结束了。

这个是本小白的第一次小通杀,前前后后虽然经历了几个月的时间,由于前期同类站点寻找不到位,导致很多站点没交上去,也是错失了很多分数,在这里也提醒各位师傅,找到漏洞后首先要多找找同类站点再交。但整体来说的话,这个系统前前后后也刷了百余rank,对我这个小白来说也算是非常不错了。最后声明一下:以上漏洞均已报告给相关学校且已修复。


付费圈子

欢 迎 加 入 星 球 !

代码审计+免杀+渗透学习资源+各种资料文档+各种工具+付费会员

进成员内部群

星球的最近主题和星球内部工具一些展示

加入安全交流群

                               

关 注 有 礼

关注下方公众号回复“666”可以领取一套领取黑客成长秘籍

 还在等什么?赶紧点击下方名片关注学习吧!


干货|史上最全一句话木马

干货 | CS绕过vultr特征检测修改算法

实战 | 用中国人写的红队服务器搞一次内网穿透练习

实战 | 渗透某培训平台经历

实战 | 一次曲折的钓鱼溯源反制

免责声明
由于传播、利用本公众号渗透安全团队所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号渗透安全团队及作者不为承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,我们会立即删除并致歉。谢谢!
好文分享收藏赞一下最美点在看哦

文章来源: http://mp.weixin.qq.com/s?__biz=MzkxNDAyNTY2NA==&mid=2247505263&idx=1&sn=e92a505be859c1e6173874171928b6d0&chksm=c17628c0f601a1d6b2e074268ace51f6a309cf1aafe64dde08638d1ebf714f2f3bf81b63b09c#rd
如有侵权请联系:admin#unsafe.sh