CIVC信息安全挑战赛初赛

发布时间 2023-06-28 14:03:41作者: WXjzc

MISC

easy! 23333!

逆序的zip
截图

with open('data','rb') as fr:
    data = fr.read()
with open('data.zip','wb') as fw:
    fw.write(data[::-1])

得到一段零宽字符
截图
零宽
截图
结果为flag{maybe_you_kn0w_the_Unicode_Steganography}

你也很困惑吗?

分析文件结构,由于后缀是zip,其头为504b0304,可以看出是按位进行异或运算
截图
根据最后的数据和数据总量,由于最后一次的原始数据0x00经过异或运算后得到0x92,也就是146,而0x1FF891256进行模运算后,恰好得到146
截图
截图
因此可以知道原始数据是按照(1-256)%256的按位异或运算得来

with open('flag.zip','rb') as fr:
    origin_data = fr.read()
    i = 1
    with open('out.zip','wb') as fw:
        for v in origin_data:
            fw.write((v^i).to_bytes(1,byteorder='big'))
            i+=1
            i %= 256

得到压缩包内容
截图
两张图片宽高都一样,像素异或

from PIL import Image

img1 = Image.open('rox.png')
img2 = Image.open('xor.png')
x = 3000
y = 1875

img = Image.new(img1.mode,(x,y))
for i in range(x):
    for j in range(y):
        p1 = img1.getpixel((i,j))
        p2 = img2.getpixel((i,j))
        tmp = []
        for _ in range(3):
            tmp.append(p1[_]^p2[_])
        p = tuple(tmp)
        img.putpixel((i,j),p)
img.save(f"out.png")

得到一个图片,与rox.png高度相似
截图
盲水印
截图
得到flagflag{AC4E331C-A2D0-CA2C-93D6-B9E22F19A373}

数字游戏

在线解数独6185793217986498235415632727314893876476495213543219823856
截图
数独图片提示对角线
截图
左上右下+右上左下得到654917276261618641,可以解出flag.zip
截图
查看key.txt得到两个列表,这两个列表长度都为25,且有数字7,而25*25的二维码的定位符长度恰好为7
截图
实际上是Nonograms数图谜题
将数据填入自动生成
截图
扫码得到Take1tEasy
截图
解压得到flagflag{c6ebcf84bcd54bac0803086a4630f673}

这是隐写哦

播放音频时,初始几秒存在噪音,读取采样点数据查看,发现01串匹配png文件头
截图
不过在测试时发现有部分数据不满足01串格式,和0x01作与运算即可
截图

import wave

with wave.open('flag.wav', 'rb') as wav:
    params = wav.getparams()
    frames = bytearray(wav.readframes(params.nframes))
binary_text = ''
print(frames[0:8])
for frame in frames:
    bit = frame & 0x01
    binary_text += str(bit)
with open('flag.png','wb') as fw:
    for i in range(0, len(binary_text), 8):
        byte = binary_text[i:i+8]
        b = int(byte,2)
        fw.write(b.to_bytes(1,byteorder='big'))

得到图片,翻转一下,webdings字体
截图
对照翻译即可
截图
结果为flag{8d9ad0457c1a8b603978085b0bffcf93}