SRC挖掘实操|一洞百分-记一次意外的通杀之旅
发布日期:2024-05-19 浏览次数: 专利申请、商标注册、软件著作权、资质办理快速响应热线:4006-054-001 微信:15998557370
前言 小白初入渗透,想获得一个教育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应该是密钥,不过这里的话因为代码能力烂的一批,未进行深入。 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,对我这个小白来说也算是非常不错了。最后声明一下:以上漏洞均已报告给相关学校且已修复。 原文由作者授权发表,首发于:奇安信攻防社区 https://forum.butian.net/share/2264 黑白之道发布、转载的文章中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途及盈利等目的,否则后果自行承担! 如侵权请私聊我们删文 END
- 上一篇:微信小程序渗透——反编译小程序
- 下一篇:内网渗透| 隧道穿透的搭建从简单到高阶