Lamber's Blog

记一次挖掘edu src的过程

字数统计: 1k阅读时长: 3 min
2021/08/21

今天在群里和沙雕网友唠嗑,正好聊到了网络安全上面。于是打算展示点与网络安全相关的东西给群友们看看。就拿群友的学校开刀试试。

所有漏洞已提交给edu-src。

信息收集

首先收集一下子域名,为了方便起见,直接使用在线子域名查询

逐个查看,找到了三个登录地址。简单测试一下,不能用万能密码进入。这时候发现其中有一个登录地址存在注册功能。

漏洞挖掘

存储型XSS

注册一个账号,进去之后发现可以编辑个人信息

测一下有没有存储型xss,如果有的话就可以利用申请项目来让管理员查看我的个人信息。然后就可以盗取管理员的cookie

打入xss的payload,保存输入的信息,可以看到成功触发payload

作为一个遵纪守法的好公民,就不深入利用了。

逻辑漏洞

一个存储型XSS显然是不够在群里吹水的,在这个平台上面翻来覆去的看看有没有什么漏掉的功能。

这时候突然在burp看到一个数据包

在忘记密码这个功能这里,程序会发送验证码到注册用的手机号上面

于是想,把数据包里面的手机号码,改成其他手机号。会不会把验证码发到其他手机上

又去注册了一个测试用的账号,这下就有两个帐号了,两个账号分工一下:

  • 目标账号(188xxxxx519)
  • 攻击者账号(173xxxxx676)

理一下攻击思路:

  1. 利用忘记密码的功能,尝试更改目标账号(188xxxxx519)的密码
  2. 开启burp,点击发送验证码,拦截该数据包。
  3. 将数据包中的目标账号(188xxxxx519)修改为攻击者账号(173xxxxx676)然后发送数据包
  4. 原本应该发送给目标账号(188xxxxx519)的验证码信息有可能直接发送到攻击者账号(173xxxxx676)的手机上
  5. 利用收到的验证码,就可以更改目标账号(188xxxxx519)的用户密码

说干就干
首先输入我们要攻击的目标账号

然后利用burp拦截发送验证码的数据包,将phone处的数据修改为攻击者账号之后发送数据包。

可以看到成功将验证码发送到攻击者手机上,这是个好兆头

等待一会儿,从攻击者手机上收到发送过来的验证码。到这里基本已经成功了

然后利用收到的验证码,去更改目标账户的验证码

利用更改过后的密码尝试登录
可以看到成功登录进去

后记

我个人用的一个简单的挖掘思路,从收集子域名,到找寻敏感功能点(诸如登录,教务处,项目管理平台,微信小程序),再到测试输入点看看会不会有常见的web漏洞。然后猜测程序背后的逻辑关系来挖掘逻辑漏洞。多想一想如果这个网站是自己写的,可能会在哪里出现逻辑问题。

另外,在edu-src上看到一位前辈的挖掘思路无比牛。他直接想办法寻找网站的源代码。开源的框架就直接官方找,不开源的框架就用fofa查询与目标站点采用相同框架的其他站点,然后看看这些站点里面有没有开发者忘记删掉的备份文件。拿到代码之后,直接审计源代码挖掘0day,然后写POC批量打。

这种打法是真的牛,奈何我代码功底薄弱,审计代码的能力太弱了。等以后功夫再深一点,也学习一下这位前辈的打法。

(这次挖掘就到这里,可以用这个逻辑漏洞去修改沙雕群友的项目系统的账号密码了,小小的整蛊一下。)

CATALOG
  1. 1. 信息收集
  2. 2. 漏洞挖掘
    1. 2.1. 存储型XSS
    2. 2.2. 逻辑漏洞
  3. 3. 后记