免责声明
由于传播、利用本公众号李白你好所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号李白你好及作者不为此承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,我们会立即删除并致歉。谢谢!
01 起
开局一个登录框,简单测试了几个弱口令无果后
注意力转到找回密码处
先输入两个非法的参数
点击获取验证码,抓包,查看响应代码返回0,前端显示未查询到账户信息
再来一次,抓包并修改响应包,将0改为1,放包后成功来到第二步,前端自动请求了一个后端接口发送验证码
查看该接口的响应,发现验证码作为响应体被返回了
填入验证码,直接跳转到第三步修改新密码,填入新密码后,点击提交
发现请求体里只有userIds和password两个参数,前者是要修改密码用户的uid,后者是新密码的值,猜测这里可能存在任意账户密码重置,而后又意识到我们传入的用户不存在,所以前端存储的userid变量为0,于是我们将请求包中userIds字段修改为1,尝试重置管理员密码。
后端响应为1,证明密码重置成功了,走到这里只觉喜出望外,赶紧拿着新密码去登录管理员账户
结果
想不通,难道是管理员的账户名不是admin?接连试了几个常见管理员用户名都失败后,想到还有个注册点,兴许可以爆破出管理员账号呢?
结果还是不行:
02 承
无奈,此路不通另寻他路,注意到有个APP下载的二维码,解析之,而后下载到apk
用工具快速扫描一下,发现两个移动端的接口地址有点不同寻常
访问之,好家伙,竟然返回了所有用户的uid和电话号码
03 转
惊喜之余突然回过神来,马上到接口中去检索uid为1的用户
结果证明uid=1的用户不是管理员权限,而是一个普普通通的员工id,之前由于太过笃定管理员的uid就是1,导致我们在这个点上浪费了太多时间。
04 合
随后也是通过这个未授权的接口找到了管理员的id
但是为了不对业务系统造成严重破坏,我们仅重置了一个普通用户的密码,随后成功登录以验证漏洞的存在:
05 往期精彩
文章来源:先知社区-Alpaca
原文地址:https://xz.aliyun.com/t/11757
如需转载本样式风格、字体版权,请保留出处:李白你好