免责声明:请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该文章仅供学习用途使用。
前言
其实还是挺想连载的,但是受限于个人能力、漏洞审核和修复的速度一直没什么好写的内容(其实就是太菜,如果能天天出通杀,我肯定做到周更),最近挖到了不少任意用户密码重置的漏洞,还出了一个小通杀,今天就拿出来写一下。
一、任意用户注册
还记得上次刷了几个证书站的漏洞,但是我实在是没积分换啊,而正常挖普通学校还要等一个多月才能审核。正好EDU SRC最近在审核上海市内的院校,直接百度搜索上海市内的院校,随机挑选了一个目标进行测试。
在查看资产的时候发现了一个站点同时存在 "注册" 和 "忘记密码" 两个功能,而且重置密码只看手机号。马上就输入手机号尝试注册一个测试用户,发现竟然给我发了一个4位数的验证码,这时候当然就想到了爆破验证码,这不直接就是任意用户密码重置漏洞。
可惜,理想很丰满,现实很骨感。一开始爆破还是正常的,但是这个接口对验证次数做了限制,只能验证50次,超过之后就没办法继续验证了,甚至多次爆破以后会锁定用户,只能第二天再验证。
好吧,那这确实没办法,继续测试。后面又来回对 "注册" 和 "忘记密码" 功能处的验证码进行了一系列测试,因为一开始的测试时候发现这两个功能点的关联性很强,两个功能点发送的验证码的过期时间是共用的。于是就想测试一下功能点会不会有验证码复用一类的漏洞,还有也测试一下他们验证验证码次数是不是也是共用的,比如一个手机号注册的时候验证了50次,重置密码的时候就不能再校验了。
结果测试的时候发现,竟然没对注册用户的验证码校验次数做限制,是可以爆破的,那这就存在任意用户注册的漏洞了。
很好,漏洞+1,但可惜EDU根本不收任意用户注册。
二、任意用户密码重置
只能继续测试,但是不知道大家发没发现一个问题,我刚刚注册成功时爆破出来的验证码是 "8888" ,一开始我看到的时候只是想的我这运气还挺好还有这种验证码。可是当我又一次利用爆破验证码注册用户的时候就发现不对了,怎么可能还是 "8888" ,难道是万能验证码?
于是,我直接在注册页面输入完信息后,点击发送验证码后输入了 "8888" 验证码进行注册,也是成功的返回了 "注册成功" 。(测试的时候忘记截图了,凑合看一下)
这马上就联想到了 "忘记密码" 功能处会不会有相同的问题,再回去试一下,输入手机号码和密码,点击获取验证码,然后直接输入 "8888" 验证码。
成功重置密码,任意用户密码重置到手。
结尾
后面也是通过Fofa语法查找找到了多个院校用了这个系统,都提交到了EDU平台刷了一下分数。不过后面对该公司其他项目也都做了尝试,应该就是运气好,开发人员在这个项目上忘记删除配置的万能密码了,而又正好被我碰到了。
原文始发于微信公众号(网安日记本):漏洞挖掘—简单的任意用户密码重置(通杀)
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论