开局一个登录框

直接查看使用的技术,vue、webpack。翻熊猫头,找到了几个未授权的访问点,但无法文件上传。

无果,遂信息收集。扫描端口发现了除登录框外的资产信息。

  • 80:登录框
  • 81:系统管理后台
  • 82:代理系统后台

尝试弱口令,无果。

在代理登录口查看熊猫头,找到了一个未授权的查看用户列表路径。

其内容包含 password,salt 和 token

密码加了盐值的,不知道是如何添加的所以解不开。因此只能尝试使用 token 进行,但 token 在本地修改没有办法直接登录。因此我想可能是前端代码支配本地 token,而不是本地 token 支配前端。吴姐!

提取所有的用户名,直接弱口令 123456 枚举。得到若干弱口令代理账号。

登录完成后查看数据包,发现了 token 的传递机制

看到这里,我感觉这个地方就有问题了

已知:

  • 代理登录和管理登录是同一个 CMS
  • 已经得到了所有用户的 token
  • 前后端分离,前端通过 token 校验身份
  • 前端通过 response 获得 token 值

可以推导出:

  • 使用随便一个账号登录管理界面
  • 拦截 response,修改成管理员的 token

等于:

  • 进入管理员后台

于是就有了如下操作:

  1. 登录 82 代理后台,记录 response 的参数
  2. 随便登录 81 系统管理后台,拦截 response 返回包
  3. 将 82 代理后台的 response 参数替换到 81 系统管理后天中,并使用获取到的管理 token 替换代理的 token
  4. forword 所有请求包,登录到了后台。