2023dasctf春季挑战赛

作者 by Yichen / 2023-08-11 / 暂无评论 / 24 个足迹

bkfish

1682462315623-728ee71a-b3c0-4e88-b57e-943c7b80d499.png1682462317696-52dd5cef-492b-4410-8984-fbb9f58daa71.png
在第一张图里分离得到第二张图,在r0通道有很明显的隐写长度,但通过现有工具无法得到有用信息
方法一
通过脚本提取单通道的最低位
1682462803407-13e3c80a-04b6-4160-a749-59c1f7a273e7.png
再通过二进制处理工具来处理所得数据
1682462940575-109ba0ae-c5f8-45d2-9303-099f9f48e949.png
得到flag
方法二
根据题目描述(To sidestep the Overlords of the internet ,bkfish use some real military grade encryption.)找到软件SSuitePicsel
1682464173193-4c979a58-9fd3-4844-8512-c1c29c0b6c13.png
得到flag

Ge9ians_Girl

1682471421378-7dba31b0-b64e-4ba4-8349-143c0081fa4d.png
word隐写发现这串提示是Twitter Secret Messages1682471572220-eb99048e-45ae-4e96-a7bf-619c2e17a476.png
找到压缩包密码,打开压缩包得到一串txt,简单看一下判断为jpg,使用脚本来拼接文件

import os



with open("surprise.jpg", "wb") as fw:
    for i in range(1, 521):
        filePath = os.path.join(f"python/two/two/{i}.txt")
        with open(filePath, "rb") as f:
            data = f.read()
        fw.write(data)

得到一个损坏的jpg,1682471862999-7e67c416-7826-41cb-a3c0-a408e0b5abbf.png
判断为jpg方法为发现了jfif头并且发现ffd9的jpg文件尾,检查发现缺少ffd8文件头所以补充文件头后获得图片
1682472009590-0e336d56-66fe-4682-8cb0-d2d6b41e3044.jpeg1682472032836-7f54e2d9-0386-4453-ae06-bd17d7f03c23.png
备注里发现这个,我们的密迷是一个解密软件,解密1682472161615-6ae3fc31-d168-46c4-bdd4-2ade7ac2a62e.png
得到flag

七里香(一点点)

首先,对于txt文件,不知道咋整就放vs里看看1682472645343-833037a7-aaaf-497d-a3e2-c0ee48605bbc.png
不出意外的收获,对于不可见unicode一般为零宽加密,简单来说就是把加密内容转换为二进制再转为对应不可见零宽度字符(零宽原理可参考:https://zhuanlan.zhihu.com/p/87919817
在解密网站(https://yuanfux.github.io/zero-width-web/)解一下1682473005825-46ccbffa-4dc3-4334-9d54-d1b73e58d391.png

独特见解