关于一血 SUSCTF2026 Easter Egg-2 的 WriteUp
一般来说小登是拿不到一血的,但是这道题运气太好了。
第一节:题目
[Tutorial] Easter Egg-2,出题人 Rekjo。题面全文如下:
要找到这个 flag 需要亿点点注意力 👀
> 也许直接看是找不到弗拉格的,需要一点点 Steganography 知识...
> 注:附件中的“是非成败转头空,青山依旧在,惯看秋月春风。一壶浊酒喜相逢,古今多少事,滚滚长江东逝水,浪花淘尽英雄。 几度夕阳红。白发渔樵江渚上,都付笑谈中。”与解题无关。
拿到题目后五个小时没有人做出来——题面就这几行,没有附件。我一开始以为 flag 在网页源码里,翻来翻去什么也没找到。
于是我回头去看 Easter Egg-1 的提示:「细心的你也许在开赛前就已经找到一个 flag 了?」——Egg-1 是 OSINT,flag 藏在开赛前就公开的封面图里,那是一片「代码雨」,字非常小,我早就把它读出来了:
susctf{a_gift_for_all_pl4yer5_Welcom3!}
我一度以为这就是 Egg-2 的答案,交上去才发现它属于 Egg-1。
第二节:思路 / 过程
那 Egg-2 的 flag 到底在哪?既然真的没人做出来,我就直接去问主办方,得到的回复是:
你是在哪里找到 Egg-1 的?
恍然大悟:Egg-2 也是有附件的,只是没有挂在题目页上。 顺着 Egg-1 的路径摸回去,目标锁定在群里的那个文件:SUSCTF2026-Print-01.svg。
SVG 里的图片是 base64 内嵌的——拿到完整的 base64,就等于拿到完整的图片,这是解这道题的第一步。里面一共三张图:校徽、龙、二维码。校徽是官方素材,基本不会在上面动手脚,所以嫌疑落在龙和二维码上。
第一次尝试:一无所获
我拿 StegSolve 打开图,把 R/G/B 三个通道的各个 bit plane 全点了一遍,又用 010 Editor 翻了一遍——什么都没有。问了 AI 也没有进展,一度以为是自己姿势不对,力竭了。
转折:手里的附件根本是错的
群里传来消息:原来是 SVG 发错了,图里还没有隐写(我 Chovy!隐写给我写好了呀!)。作者重新上传之后,我把新旧两份对比了一下:
| 旧版(我手里那份) | 新版(作者重新上传) | |
| 文件名 | SUSCTF2026-Print-01.svg | susctf2026.svg |
| 文件大小 | 9,340,784 B | 9,339,767 B |
| 校徽图 | 未变 | 未变 |
| 龙图 / 二维码图 | 干净 | md5 全变了 |
提取姿势(可复现)
StegSolve → Analyse → Data Extract:
Red 0/Green 0/Blue 0三个都勾上(即三个通道的最低位)Bit Order选MSB FirstBit Plane Order选RGB- 预览区就能看到结果,
Save Bin存成文件
PK——这是 ZIP 的文件头;往后翻能看到 flag2.txt 的文件名,内容是:
ZmxhZzIgZm9yIHlvdTogc3VzY3Rme1dvd3d3X0xTQl9jYW5faDFkZV9tZXNzNGdlcyF9
base64 解码即得:
flag2 for you: susctf{Wowww_LSB_can_h1de_mess4ges!}
第三节:结果
susctf{Wowww_LSB_can_h1de_mess4ges!}
平台上的 solve 记录只有一条,一血拿下。
第四节:复盘 / 教训
- 隐写题动手之前,先核对附件版本。 旧版那三张图是真的干净(那张二维码就是标准 v3 / ECC-L / mask0 的码,逐模块比对 0 差异),所以我在它上面怎么试都不可能有结果。判据也不玄学:文件大小、修改时间、每张内嵌图的 md5——换过就一定看得出来。
- 先搞清楚数据在哪一层。 SVG 里的图是 base64 内嵌的,不先把图抠出来什么都做不了;同理,做题先问自己「我现在分析的是不是出题人手里那份」。
- LSB 提取记住这套组合拳:三通道 bit0 + MSB First + RGB 顺序 + 行序。顺序错了就是乱码,换个顺序再试一遍就好。
- 做不出来不一定是自己的问题。 先去看题目更新时间、去群里问一句,实在不行就睡一觉——我这题是被「附件发错了」硬卡了五个小时。之前做过类似的流程,手上有一份现成的 LSB 提取脚本(当时让 AI 写的 poc),这次直接复用,所以附件一换我这边是光速出货。
Cola_CaO
2026.09.22