攻防世界_XSCTF联合招新赛(初赛)_不确定,再看看

不确定,再看看

请添加图片描述

先给了,一个音频,拖到SilentEye报错了。我就去看文件格式了,大概是看到了一个base的特征,再加上出题人说的base64,肯定是提取这个音频里面的base64了。

攻防世界_XSCTF联合招新赛(初赛)_不确定,再看看_第1张图片


​ 1.提取base64文本

with open("A Comme Amour.wav", "rb") as f:
    data = f.read()[0x86:0x2eea]

for i in range(0, len(data), 2):
    print(chr(data[i]), end="")

  1. 复制到CyberChef中

攻防世界_XSCTF联合招新赛(初赛)_不确定,再看看_第2张图片

这个AffineTransformation,自然而然想到仿射密码了。

攻防世界_XSCTF联合招新赛(初赛)_不确定,再看看_第3张图片

末尾给了加密后的密文xtws{fnik_ik_xwyc_xtws_teey_rwkc!},key给没给我不清楚,不太会c语言,加上这个排版,我更懒得看代码了。


  1. 直接写脚本爆破key就好了,没有库的要先安装一下,命令行pip install pycipher

    from pycipher import Affine
    
    
    cihper_text = "xtws{fnik_ik_xwyc_xtws_teey_rwkc!}"
    for a in range(1, 26, 2):
        for b in range(26):
            try:
                plan_text = Affine(a, b).decipher(cihper_text)
                if plan_text.startswith("FLAG"):
                    print(plan_text)
            except Exception:
                pass
    
    运行结果:
    FLAGTHISISFAKEFLAGLOOKBASE
    

    FLAG{THIS_IS_FAKE_FLAG_LOOK_BASE}


    1. 这是个假的旗帜,让我去看base,既然是base64,第一想法base64隐写喽

      工具是我在Github开源的,链接:https://github.com/Byxs20/Base64-Tools,右边的Release下载即可食用~
      攻防世界_XSCTF联合招新赛(初赛)_不确定,再看看_第4张图片

flag{ba5e64_hiding_1s_s0_in7erest1ng!}

如果他没有弄这个仿射密码,我平时碰到base64肯定就上工具了,出题人把我拿捏死死的!!!

你可能感兴趣的:(python,开发语言)