前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >2022蓝帽杯wep-WP

2022蓝帽杯wep-WP

作者头像
h0cksr
发布2023-05-18 08:57:46
2470
发布2023-05-18 08:57:46
举报
文章被收录于专栏:h0cksr的小屋h0cksr的小屋

2022蓝帽杯wep-WP

一点闲话:

web一天白打工,这次的蓝帽几乎就是取证大爹们的主场,web题一共只有两道,一道题简单的fastjson1.2.62反序列化加一道读内存和pickle反序列化,思路都不复杂,但属实是被环境问题整麻了…不管怎么说还是记录一下吧

Ez_gadget

这个题有点麻瓜,我不管在本地还是题目环境下unicode绕过rmi等协议的关键字后都不会发出连接请求,但是赛后问了下其他一些师傅很多都是用成功unicode绕过的(无话可说),不知道为什么unicode绕过修改ldap关键字失败了但是经过atao师傅指导说可以直接用换行绕过的方法绕过ldap链接的检测,试了一下换行确实每次都没问题

file_session

这个题环境搞心态,不知道为什么一直不会读取到session中的data,赛后问了几个师傅都是说本地是可以打通的,但是到题目环境就没成功过,下面是我本地测试的POC构建过程.

队伍完整WP见奇安信攻防社区: 2022蓝帽杯初赛WriteUp

Web

Ez_gadget

题目内容:听说有一个快的json组件有危险,但是flag被我放在了root的flag.txt下诶,你能找到么?

jar包附件下载:https://share.weiyun.com/v3yXxl87

题目源码逻辑很简单,就是一个绕过后的fastjson反序列化

首先要构造一个str满足hashCode相同但是字符不同

构造方法直接将第一个字符ascii码大小-1,第二个字符ascii码大小+31,以下为简易的构造脚本,原理可以看Java 构建 HashCode 相同的字符串

拿到符合条件的str参数后,构造fastjson反序列化的input参数

将str和input通过POST传输进行测试

使用JSONReader探测确认反序列化确实可用,然后使用fastjson 1.2.62(一幕环境fastjson版本)的黑名单绕过exp:

但是需要变一下,以绕过jndi,rmi,ldap,\x的过滤,可以使用unicode编码(其实也可以使用16进制\x,但是这里\x被过滤了)

此外对于远程资源加载的Pattern.compile匹配我们可以使用换行%0a完成绕过

结合使用工具JNDIExploit最终反弹shell拿到flag

详细操作可参考https://www.anquanke.com/post/id/232774

file_session

题目内容:这里可以下载“海量”的图片,不知道有没有你喜欢的图片。

根据题目提示可知有个/download路由可以任意文件读取,得到/app/app.py源码

内容不多,就两个点:

  1. /download路由可以指定文件和偏移进行文件内容读取
  2. /admin_pickle_load路由会反序列化session中的data数据

所以我们要伪造session,那么首先就要获取SECRET_KEY,这里用的是内存读取

解题步骤就是

  1. 根据/proc/self/maps获取内存情况然后从/proc/self/mem读取指定偏移的内存数据
  2. 从内存中取出被作为SECRET_KEY的UUID
  3. 伪造session
  4. 将反弹shell的反序列化数据加入到session的data中
  5. 监听端口接收反弹的shell

下载内存数据到./save目录下:

dump.py

对内存数据进行UUID正则匹配,获取全部UUID存放到./keys文件中:

grep.py

通过./keys逐个取出key然后结合工具flask_session_cookie_manager生成伪造的session(里面有要反序列化的data数据)后全部存到sessions数组中,再逐个带着生成的session访问/admin_pickle_load进行反序列化(注意提前打开监听)

poc.py

这里注意使用工具flask_session_cookie_manager伪造session的时候必须要和题目环境的python大版本相同(python2或python3,小版本可忽略),它们使用的脚本和生成的session是不一样的

按照下面顺序执行就能获得反弹的shell了:

窗口1:

窗口2:

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-7-10 2,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 2022蓝帽杯wep-WP
    • Web
      • Ez_gadget
      • file_session
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档