赛事地址
【云演】--信息安全在线教育平台,让攻防更简单! (yunyansec.com)
管道
附件一张图片,由题目介绍可知存在lsb隐写
使用zsteg指令检测
可是雪飘进双眼
所给附件有一个加密压缩包和文件夹
文件夹里有一个音频和文本
音频里藏有摩斯密码
由txt文件可以猜测为snow隐写,摩斯密码为snow隐写密码
得到的密码可解开加密压缩包
压缩包内为两张图片,用010editor查看一张key图片还藏有另一张密文图片
根据图片解密得BC1PVEYD
密码为steghide隐写密码
你是不是很疑惑呢
碎碎念--异或处理我还仅停留在图片异或,时间异或还真不知道,这次学习到新知识了
附件中有很多图片,图片是AZTEC码
使用在线解码器
提示与时间有关
这里我也询问了bing有关时间戳异或隐写
时间戳异或隐写是一种隐写术,它将信息隐藏在时间戳中。时间戳是一个数字,表示从1970年1月1日00:00:00 UTC到当前时间的秒数。异或是一种逻辑运算符,它将两个二进制数的每个位进行比较,如果相同则输出0,否则输出1。因此,时间戳异或隐写是将信息与时间戳进行逐位异或运算,以便将信息隐藏在时间戳中。
这里就是获取所有图片的创建时间戳和修改时间戳,并将其进行异或处理
import os import time filenames = ["./out/零.png", "./out/壹.png", "./out/贰.png", "./out/叁.png", "./out/肆.png", "./out/伍.png", "./out/陆.png", "./out/柒.png", "./out/捌.png", "./out/玖.png", "./out/壹拾.png", "./out/壹拾壹.png", "./out/壹拾贰.png", "./out/壹拾叁.png", "./out/壹拾肆.png", "./out/壹拾伍.png", "./out/壹拾陆.png", "./out/壹拾柒.png", "./out/壹拾捌.png", "./out/壹拾玖.png", "./out/贰拾.png", "./out/贰拾壹.png", "./out/贰拾贰.png", "./out/贰拾叁.png", "./out/贰拾肆.png", "./out/贰拾伍.png", "./out/贰拾陆.png", "./out/贰拾柒.png", "./out/贰拾捌.png", "./out/贰拾玖.png", "./out/叁拾.png", "./out/叁拾壹.png", "./out/叁拾贰.png", "./out/叁拾叁.png", "./out/叁拾肆.png", "./out/叁拾伍.png", "./out/叁拾陆.png", "./out/叁拾柒.png", "./out/叁拾捌.png"] for file_path in filenames: try: # 获取文件的创建时间戳和修改时间戳 create_time = os.path.getctime(file_path) modify_time = os.path.getmtime(file_path) # 输出文件的创建时间戳和修改时间戳的异或值 print(chr(int(create_time) ^ int(modify_time)), end='') except: print("Failed to get file metadata.")
运行后便能得到flag
Findme因未知原因无法复现,这里引用官方wp
第一步 题目信息: 下载题目附件并解压。 第二步 解题过程: 1、使用010editor工具打开png后显示第67块数据CRC校验有问题, 2、而通过模板也可以发现,第67块数据格外的大 3、将这一块的data部分数据手动提取出来 4、发现长度刚好是个整数500kb,猜测是个tc容器,由于之前没有给出密码,结合图片名,猜测原图是密钥文件 5、将原图的这一块多余的数据删掉后,还原的正确的图作为密钥文件,成功加载tc容器 6、容器里的压缩包解压得到一个只有大量的255和0的txt文件,将其转换成16进制数据后写入新文件 JavaScript
7、得到的data数据放入gimp中,调整宽高为400时得到二维码,扫描得到flag
Flag
flag{a95e34a30d135c2d32f46f3834872f37}
标签:隐写,壹拾,misc,异或,复现,2023,叁拾,png,out
From: https://www.cnblogs.com/cierra/p/17484595.html