开局一个登录框
直接查看使用的技术,vue、webpack。翻熊猫头,找到了几个未授权的访问点,但无法文件上传。
无果,遂信息收集。扫描端口发现了除登录框外的资产信息。
- 80:登录框
- 81:系统管理后台
- 82:代理系统后台
尝试弱口令,无果。
在代理登录口查看熊猫头,找到了一个未授权的查看用户列表路径。
其内容包含 password,salt 和 token
密码加了盐值的,不知道是如何添加的所以解不开。因此只能尝试使用 token 进行,但 token 在本地修改没有办法直接登录。因此我想可能是前端代码支配本地 token,而不是本地 token 支配前端。吴姐!
提取所有的用户名,直接弱口令 123456 枚举。得到若干弱口令代理账号。
登录完成后查看数据包,发现了 token 的传递机制
看到这里,我感觉这个地方就有问题了
已知:
- 代理登录和管理登录是同一个 CMS
- 已经得到了所有用户的 token
- 前后端分离,前端通过 token 校验身份
- 前端通过 response 获得 token 值
可以推导出:
- 使用随便一个账号登录管理界面
- 拦截 response,修改成管理员的 token
等于:
- 进入管理员后台
于是就有了如下操作:
- 登录 82 代理后台,记录 response 的参数
- 随便登录 81 系统管理后台,拦截 response 返回包
- 将 82 代理后台的 response 参数替换到 81 系统管理后天中,并使用获取到的管理 token 替换代理的 token
- forword 所有请求包,登录到了后台。