2026CISCN总决赛——Archivehub
manifest.json 并渲染指定 Markdown 文件。普通用户可以把自己的文档提交给管理员审核,管理员审核完成后会在文档下方留下 Review Notes。 请获取服务器中的 flagmanifest.json 并渲染指定 Markdown 文件。普通用户可以把自己的文档提交给管理员审核,管理员审核完成后会在文档下方留下 Review Notes。 请获取服务器中的 flag简单来说,RMI 能够让在客户端 Java 虚拟机上的对象像调用本地对象一样调用服务端 Java 虚拟机中的对象上的方法,提供的一种用于实现分布式计算的 API
想象一个大型的技术文档库,他们分散在 A、B、C 三台服务器上,如果没有 RMI 我们需要使用自己的客户端分别建立三个 Socket 连接,手动发送搜索指令,处理三份不同的数据流,最后再合并;而现在我们可以分布式部署 RMI 服务,并定义一个 SearchService 接口,客户端只需要依次调用 A、B、C 上的 search 方法即可
原文章来自 lostsheep 佬友的终端精致小玩具 - Ghostty
后经过 ai 帮我生成了 Windows 端的相关文件设置
效果图:

源标题不是这个,但是这里只保留了附件
访问根路由,提供了以下 /api
1 | { |
CC 4 依赖于 commons-collections4 : 4.0,基础版本其实很简单,在 CC 2 TemplatesImpl 链子的基础上将 InvokerTransformer 替换为 CC 3 中使用的 InstantiateTransformer 来触发 newTransformer() 方法
1 | Transformer[] transformers = new Transformer[] { |
既 CC 1 和 CC 2 的学习之后,两者本质上还是去触发 InvokerTransformer.transform() 来反射调用方法,在引入了 TemplatesImpl 之后,是否能找到一种链子可以直接触发其 newTransformer 方法来加载字节码?CC 3 就是为此而生
既 CC 1 分析后,了解了 Transformer 的基础知识后,后面的链子就可以快些分析了,CC 2 的利用是基于 commons-collections 4,因此我们引入依赖
1 | <dependency> |
在 Apache Commons Collections(以下简称 CC 链)反序列化漏洞中,Transformer 接口及其实现类是整个攻击链路的“执行类”
单独提出来是方便自己下次看到能快速浏览,之前的笔记太混乱了,链路逻辑有点混乱,一些细节也忽略掉了,借此重构一下;再者是自己本身对 nodejs 这一块的认识没有那么深刻