|
本帖最后由 wangqiang 于 2023-5-24 20:37 编辑
SRC挖掘实操|一洞百分-记一次意外的通杀之旅
猪猪谈安全 2023-05-23 19:01 发表于江苏
以下文章来源于亿人安全 ,作者quanqi
转载自:SRC挖掘实操|一洞百分-记一次意外的通杀之旅
原文由作者授权发表,首发于:奇安信攻防社区https://forum.butian.net/share/2264前言
小白初入渗透,想获得一个教育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_st ... 16&_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应该是密钥,不过这里的话因为代码能力烂的一批,未进行深入。
rabbitmq和redis在测试后,发现连接不起来,可能是由于并未开启远程服务,因此对于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,对我这个小白来说也算是非常不错了。最后声明一下:以上漏洞均已报告给相关学校且已修复。
|
|