首页
论坛
课程
招聘
[原创]2021 KCTF 春季赛 第三题 统一门派
2021-5-14 18:41 3556

[原创]2021 KCTF 春季赛 第三题 统一门派

2021-5-14 18:41
3556

吐槽

  1. 云防火墙把我 IP 屏蔽了,我浪费一天多的时间寻找不使用 redis 的方式
  2. 总有人破坏坏境。。

情报收集

  1. 服务器 redis 端口能够匿名访问,虽然光靠 redis 就能 RCE 了但肯定不是作者的期望
  2. 结合题目故意放出 redis 端口来看,应该是需要写入 redis key 来伪造什么东西
  3. 进入 http://{ip}/dev-api/swagger-ui.html 可以发现这个服务是 ruiyi-vue 版本 3.3

代码分析

  1. 找出登陆流程,可以看到登陆成功后会在 redis 里写入 uuid -> 当前用户信息,并在返回 jwt token 中包含了该 uuid
  2. 鉴权的时候会从 cookie 中 Admin-Token 取出 jwt token,然后取出 uuid,然后取出用户信息
  3. 所以只要伪造个 admin 用户已经登陆的 redis key + 浏览器 cookie 就行了

步骤

  1. 本地搭建好 ruoyi-vue,这个花了不少时间
  2. 本地登陆 admin/admin123 后,看到本地 redis 里生成了 login_tokens:{uuid}
  3. 登陆服务器的 redis,写入该 key
  4. 将本地的 cookie 通过 js 写入远程登陆页面
  5. 刷新后成功进入后台,看到 flag

[注意] 欢迎加入看雪团队!base上海,招聘CTF安全工程师,将兴趣和工作融合在一起!看雪20年安全圈的口碑,助你快速成长!

收藏
点赞0
打赏
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回