云计算百科
云计算领域专业知识百科平台

2026.7.18(6)【音频隐写】GUET-CTF2019 soul sipse

📌 题目信息

项目内容
题目名称 [GUET-CTF2019]soul sipse
题目来源 BUUCTF(GUET-CTF 2019)
题目类型 MISC(杂项)
子分类 音频隐写 / 文件修复 / Unicode编码
考点 Steghide隐写、PNG文件头修复、Unicode解码
难度 ⭐⭐
最终 Flag flag{5304}

🛠️ 使用工具

  • Steghide —— 音频文件隐写提取
  • 010 Editor —— 十六进制查看与文件头修复
  • 在线Unicode解码工具 —— 如 https://tool.chinaz.com/tools/unicode.aspx

📝 解题思路

题目名为“soul sipse”,附件是一个 .wav 音频文件。用 Audacity 打开听不出明显异常,用 binwalk 也分离不出东西——这时需要考虑 Steghide 隐写(Steghide 支持 WAV 格式的隐写)。

第 1 步:使用 Steghide 提取音频中的隐藏文件

在 Kali Linux 中使用 Steghide 分析 out.wav 文件:

# 查看音频中是否隐藏了文件
steghide info out.wav

# 提取隐藏文件(无需密码,直接回车)
steghide extract -sf out.wav


执行后成功提取出 download.txt 文件。

查看 download.txt 内容,发现里面是一个腾讯微云分享链接:

https://share.weiyun.com/5wVTIN3

第 2 步:下载图片并修复文件头

访问该链接,从腾讯微云下载一张图片 GUET.png。

打开图片时无法正常显示。用 010 Editor 打开该图片,发现 PNG 文件头被篡改。

正确的 PNG 文件头应为:

89 50 4E 47


将文件开头的错误字节修改为 89 50 4E 47,保存后图片即可正常浏览。

⚠️ 注意:PNG 文件头固定为 89 50 4E 47 0D 0A 1A 0A,但最关键的标识是前 4 字节 89 50 4E 47。修复时务必确认修改位置正确。

第 3 步:获取图片中的 Unicode 编码

修复后的图片中显示了一段Unicode编码的文本:

\\u0034\\u0030\\u0037\\u0030\\u000d\\u000a\\u0031\\u0032\\u0033\\u0034\\u000d\\u000a

第 4 步:Unicode 解码

将上述 Unicode 编码粘贴到在线Unicode解码工具中进行解码。
Pasted image 20260718144052.png
解码后得到:

4070
1234

第 5 步:相加得到 Flag

将解码得到的两个数字相加:

4070 + 1234 = 5304

这里之所以会想到相加,是多次尝试 + 观察规律的结果,因为题干没有给别的算法提示,而竖排两个数字最自然的联想就是“加法竖式”,且试出来后结果(5304)能完美契合 Flag 的提交要求。

还可以对这两个数字进行常见的二元运算尝试:

  • 拼接:40701234(提交失败或不符逻辑)
  • 相减:4070 – 1234 = 2836
  • 异或(XOR):4070 ^ 1234 = 21060(数字过长,不像是简单的 4 位 Flag)
  • 相加:4070 + 1234 = 5304

其实这里也没有其他原因,就是出题人当时想着要相加的。

按题目要求包上 flag{} 提交。

🏁 最终 Flag

flag{5304}

赞(0)
未经允许不得转载:网硕互联帮助中心 » 2026.7.18(6)【音频隐写】GUET-CTF2019 soul sipse
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!