点击蓝字 · 关注我们
逻辑漏洞
严重
https://xxx.xx.xx.xx/xxx/frxxxwork/ums/login.xhtml
0x01
某管理系统密码找回处存在任意用户密码重置
https://xxx.xx.xx.xx/xxx/frxxxwork/ums/login.xhtml
点击忘记密码功能,进行密码找回:
0x02
输入账户和验证码,用burp抓包:进入第二步:
https://xx.xx.xx.xx/xxx/xx/qrcode/getResetPwdPicture.jsp?code=%257B%2522userName%2522:%2522admin%2522,%2522userid%2522:%2522admin%2522%257D
第二步正常是会生成一个二维码,包含被重置用户的账户信息,验证通过才能到第三步。
这里继续抓包,有这个包会判断当前身份验证的状态,通过修改返回包,将其修改成1,从而绕过上面身份验证阶段:(注意,这里需要将所有的验证身份的包返回值都修改成1)
https://xx.x.x/xx/nextStep.do?do=getValidateStatus&userid=admin
将所有身份验证包都修改后,直接绕过验证,进入第三步:
0x03
第三步:直接填写上重置的密码:
直接重置密码成功
然后直接登录 admin ceshi123
包含了大量的用户个人敏感信息
PS:只是查看没做任何操作
这是整个密码重置的流程,在第一步还有个包,是用来枚举已注册的用户的:
输入账户和验证码,用burp抓包:
https://xx.xx.xx.xx/gdhy/nextStep.do?do=checkUserInfo&id=test
这里第一步会有个接口,可直接根据返回信息判断用户是否已注册。
这样就可以批量获取已注册的用户信息,再结合上面的密码重置,直接实现任意用户密码重置。
可直接重置管理员admin在内的所有用户的密码,可直接登录后台,后台包含了整个广东省所有用户的婚姻登记信息,这是很严重的。
做好权限的控制,做好每一步的校验工作,最好不要分流程走,不能仅仅只校验返回值来判断用户身份是否校验成功。
EDI安全
扫二维码|关注我们
一个专注渗透实战经验分享的公众号
本文始发于微信公众号(EDI安全):某管理系统存在任意用户密码重置
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论