2023届陕西省大学生网络技能安全赛-misc复现

发布时间 2023-06-16 21:52:41作者: CierraRunnis

赛事地址

【云演】--信息安全在线教育平台,让攻防更简单! (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}