本文章仅用于信息安全防御技术分享,因用于其他用途而产生不良后果,作者不承担任何法律责任,请严格遵循中华人民共和国相关法律法规,禁止做一切违法犯罪行为。
该漏洞已上报edusrc
并已修复,请勿打再次复现的主意。
本文章完全是为了水证书,分享一个快速打法,不喜勿喷,感谢大佬们的指正。
0x01
—
前言
周末还要忙着出差,出差还要忙着照顾你们这群小可爱,高铁上还要给你们写文章看,“强哥”我真是宠你们啊!!!
群里的大佬天天喊浙大第一炮,今天它来了!这里特别感谢一下EDU的小白神
0x02
—
资产发现
这里浅说一下,如何定位资产。很多师傅来问到我第一个问题就是找不到资产,没地儿下手
正如这个师傅说的定位薄弱资产,这个就得完全凭感觉了,在下没什么好方法告诉你,唯一就是所有功能点都测试一遍。
我一般常用的就是:鹰图 web.title="XX大学"&&web.body="登陆"&&web.body="注册"
光看个页面站点,你能摸出来个啥呢?要进入系统后你才有更大的机会。所以能注册进入的优势就很大了。
顺藤摸瓜,我就摸到了该站点,可以注册,可以找回密码。那这个时候第一步肯定就是注册一个进去看看。有些师傅肯定跟我时一样的心理,看见注册内容要填特别多就懒得测试了,哈哈哈...以后遇到还是多尝试,说不定就挖穿了呢?不要偷懒!!!
0x02
—
漏洞发现
也是进去后发现没啥功能点,也没摸出来个啥。回到主页试试密码找回功能或许能碰见个逻辑漏洞。
直接注册两个测试账号,(测试这种呢最好是注册两个账号,避免影响生产环境的正常使用)
先通过找回密码功能查看正常的响应包
再看看错误的相应包
留下一个小问题,这种情况下你们会优先看到什么?想到什么?接下来应该往哪个方向去尝试?
我们重新来一遍,找回密码功能抓包!此时我们已经提前知道了,正确的相应包,所以前面怎么样不用管。
抓取后,放掉截取相应包
把错误的响应包替换成正确的相应包。
继续放,然后成功了,提交新密码即可完成修改。这里证明了手机验证码毫无作用。
0x02
—
漏洞利用
随后通过测试账号1和测试账号2返回包对比发现,用于识别用户身份改密码操作的只有accid,意味着我们只需要得到别的用户的accid,就能直接改此用户的密码,那么我们如何得到别的用户的accid呢?
就在我无从下手的时候,无意间看到了一篇文章,大概就是有的页面的返回数据包会把用户的一些信息暴露出来,于是我就在下面这个页面发现了用户泄露出的一些数据;
抓包得到用户的id和studentid,为啥需要id和studentid?因为后面构造的接口需要这些参数。
下图的getUserInfo是自己根据别的接口特征Fuzz得到,经过测试,发现此接口只需要配合前面得到的id和studentid即可查询到用户的accid(就是图中的accountid),既然得到了accid改密码不就简简单单?
0x03
—
漏洞修复建议
禁止前端校验或者无效校验,验证码和用户名、密码需要一次性、同时提交给服务器验证,以此来保持业务一致性。
0x04
—
每日祝福
祝师傅们,天天高危、日日0day!!!!!!!!!!!!!
最后欣赏一下大唐不夜城的美景
★
欢 迎 加 入 星 球 !
代码审计+免杀+渗透学习资源+各种资料文档+各种工具+付费会员
进成员内部群
星球的最近主题和星球内部工具一些展示
关 注 有 礼
还在等什么?赶紧点击下方名片关注学习吧!
推荐阅读