【攻防世界】- 不确定,再看看

⭕、知识点

WAV二进制冗余数据隐写/脚本编写/base64隐写

一、题目

一个wav音频文件

二、解题

1、尝试频域分析无果

2、binwalk没有发现隐藏信息

3、查看十六进制数据,发现文件头部有一些整齐有规律的字母,看起来像是base64编码

4、编写脚本提取base64文本

start_index = int("86",16)
end_index = int("2EE0",16)

base64_str = ""
with open("A Comme Amour.wav", "rb") as f:
    f.seek(start_index)
    while f.tell() < end_index:
        data = f.read(1)
        if data == bytes.fromhex("00") or data == bytes.fromhex("FF"):
            continue
        else:
            base64_str += data.decode("utf-8")

print(base64_str)

5、复制下来放到在线网站提示格式有误解密不了

后来发现用CyberChef可以解密(其对格式没有太严格的要求)

发现一段类似flag的东西,应该是被替代或者置换了,又扫了一眼代码有a、b和模运算,猜测是仿射密码加密

6、尝试用脚本爆破仿射密码

。。。得到了一个假flag T_T

6、尝试base64隐写,得到真flag

三、答案

flag{ba5e64_hiding_1s_s0_in7erest1ng!}

四、总结

1、学习到了原来WAV也可以进行二进制数据隐写

2、学到了仿射密码暴力攻击的方式

3、学到了base64隐写的原理

参考资料:
base64加密原理
base64隐写原理

posted @ 2025-04-20 16:42  wyuu101  阅读(260)  评论(0)    收藏  举报