2026.7.18(6)【音频隐写】GUET-CTF2019 soul sipse
2026/8/12 12:45:58 网站建设 项目流程

📌 题目信息

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

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询