分类: CTF

9 篇文章

[Google CTF 2021] CPP WriteUp
打完 CISCN 2021 无事,想起群里之前说到的 DRM,于是和队友一起尝试了一下( 预处理 由于各种 #xxx 完全没有缩进,因此使用 clang-format 对预处理器进行格式化处理: clang-format --style='{IndentPPDirectives: AfterHash}' cpp.c 缩进后的代码虽然算不上好读,但至…
thumbnail
Berd’s Red Envelope 2021 WriteUp
摸鱼的 2020 最后几小时 Web 手的 Misc/Crypto 修行 在结束之前一直保持密码保护 已经结束力( 开始 由于 <a> 设置了 pointer-events: none; 因此无法点击。复制链接进入第一题。 一只方熊猫 下载后发现图片无法打开: 使用 010Editor 打开后提示 CRC 错误: 随便找了个爆破图片宽高…
Postman 历史记录导出的解决方案
Postman 可以说是我在 CTF 中使用最多的工具了。它确实非常好用,但我并没有完全掌握它的使用之道,因此大量的历史请求堆在一起,显得环境无比混乱。 虽说是有想要改变的想法,但这些历史记录还是非常重要的,一时间难以割舍。于是便开始寻找导出的方案。 indexedDB 我们知道,Postman 是典型的 Electron 应用,而其数据则是存在了…
thumbnail
X-NUCA 2020 – hellowasm 题解
前言 在比赛结束后一小时,得出了最终结果—— 怎么说呢,虽然有点遗憾,但也是做出来了。至少没白费这几小时的时间吧(笑) 比赛期间没做出来不叫 WriteUp(( 开始 开始游戏。首先尝试用 JEB 读一下: 可以看到,逻辑还是非常清楚的(部分函数名为手动替换)。但美中不足的是对最关键的 f8 和 f9 不能查看伪代码,好像是 br_table 没做…
[Node] child_process.fork 与 env 污染 RCE
Node 从8.0 开始支持 NODE_OPTIONS,而 Node 的参数中有一项名为 --require,可以加载执行一段 JavaScript 代码。这就是一切的起源。 当 NODE_OPTIONS 遇到 fork 我们先来看一下 child_process.fork 的源码: function fork(modulePath /* , ar…
thumbnail
[CTF][JLU/2020] babywasm WriteUp
这篇文章记录的是吉林大学 2020 CTF 校赛的 babywasm 题解。用到的工具有 Chrome Developer Tool 和 wabt。 记录基本偏移信息 上来先观察 data 段。 我们发现了一些有趣的东西。首先是 flag 必备的 Spirit{},然后是弹出对话框中的文本,中间夹杂了一些不明所以的 ASCII 字符。 我们把这些东…
PHP 反序列化与经典利用
一直对 PHP 反序列化方面的内容似懂非懂,这次终于想着要好好梳理一下这方面的内容。 概念 我们知道,PHP 有 serialize 和 unserialize 这一对函数,前者负责序列化,后者负责反序列化。 序列化负责的是将 PHP 的对象序列化为字符串,而反序列化负责的则是将字符串转化回对象。 序列化 分隔符(结束符) PHP 反序列化中最常见…
CTF 校赛随记 [2019]
本文从旧博客迁移而来。 文章中所有图片均引自原路径(GitHub 仓库),因此可能出现加载速度较慢的问题。 以下为原文内容。 随手记录一下( 5呢 简单的正则 通过构造符合题意的正则表达式即可得到 flag。 http://10.60.38.227:34003/?s=the%20flag12/d/31 你会那样读文件吗 进入后链接提示我们跳转到 h…
[CTF] SpEL 表达式与文件读取
摸了这次的 De1CTF,深感自己知识积累不够。这次解出的唯一一道 Web 题是 SpEL 注入题,我们就从这道题入手来了解一下吧( 题面 题目描述如下: Please calculate the content of file /flag http://tounikaku_server_addr/ 题目本体给的是一个计算器: 经过观察,发现本质是…