
L3HCTF 2025 TellMeWhy —— Fastjson 高版本 Getter 利用
赛题分析 存在 solon 3.3.1、fastjson2:2.0.57 、freemarker、HikariCP:4.0.3 依赖。 HomeController 存在反序列化操作,MyInputObjectStream 进行过滤,禁掉了一些 toString 入口。 进入序列化之前还有一堆奇怪的过滤。 MyFilter /baby/** 下的路由只允许...
赛题分析 存在 solon 3.3.1、fastjson2:2.0.57 、freemarker、HikariCP:4.0.3 依赖。 HomeController 存在反序列化操作,MyInputObjectStream 进行过滤,禁掉了一些 toString 入口。 进入序列化之前还有一堆奇怪的过滤。 MyFilter /baby/** 下的路由只允许...
本文仅为 R3CTF 2025 payload 分析以及学习记录,payload 来自于 @cinabun 什么是 CGO CGO 是 Go 语言提供的一个机制,允许 Go 程序调用 C 语言编写的代码。CGO 的核心功能包括: 双向调用:Go 可以调用 C 函数,C 也可以调用 Go 函数 数据类型转换:在 Go 和 C 之间自动进行数据类型转换 内存管理:处理 Go 和...
Google CTF 2025 中一道涉及 perl 符号覆盖的题目。一个比较典型的示例如下, setAttribute 函数可以动态地设置包中变量甚至函数。如果 $dst 或 $key_name 可控,攻击者可以覆盖任意包下的符号,甚至系统内置包(如 CORE、UNIVERSAL 等)。 sub setAttribute { my $dst = shift; # 目...
来自 Google CTF 的一道 pyjail,主要涉及构造代码对象时的各种注意事项和规范。 题目简介 题目信息如下: We just hired an intern, and they kept telling me their Python shell returns 1 when they asked for 2, and 6 when they asked for 9, a...
cookie-recipes-v3 源码中关键的比较在 /deliver 路由,只要用户输入的数字大于 1_000_000_000 即可,但 /bake 中对输入的数字长度进行了判断。 app.post('/bake', (req, res) => { const number = req.query.number if (!number) { res....
Cyber Attack 题目使用 apache2 作为服务端,配置文件中对特定的 cgi 进行了访问控制。 ServerName CyberAttack AddType application/x-httpd-php .php <Location "/cgi-bin/attack-ip"> Order deny,allow Deny from all ...
baby layout Web: http://1.95.153.158:3000 Admin bot: http://1.95.153.158:1337 使用了 DOMPurify 来防护,使用的是最新的版本 参考: https://mizu.re/post/exploring-the-dompurify-library-hunting-for-misconfig...
pyjail 沙箱逃逸原理 绕过删除模块或方法 绕过基于字符串匹配的过滤 绕过命名空间限制 绕过长度限制 绕过多行限制 变量覆盖与函数篡改 绕过 audit hook 绕过 AST 沙箱 绕过输出限制 绕过 opcode 沙箱 利用生成器栈 本文仅作为个人学习记录,大部分参考自下面的文章,讲解得...
pyjail 沙箱逃逸原理 绕过删除模块或方法 绕过基于字符串匹配的过滤 绕过命名空间限制 绕过长度限制 绕过多行限制 变量覆盖与函数篡改 绕过 audit hook 绕过 AST 沙箱 绕过输出限制 绕过 opcode 沙箱 利用生成器栈 绕过基于 opcode 的沙箱 获取代码对象的字节码...
将 gitbook 项目迁移到 mkdocs 很多参考文档使用 gitbook 搭建,例如 hacktricks-cloud,由于 gitbook 不开源,如果想要将文档离线部署,就不得不更换其他文档生成工具,如 mkdocs、teedocs、docksify 等。 尝试了 teedoc 和 mkdocs,都存在部分问题: teedoc 对于 markdown 图片链接的解析还存在问...