蓝桥杯2025个人题解

第十六届蓝桥杯大赛—软件赛网络安全赛项(个人赛) WRITEUP

解题过程

Enigma

下载附件得到一个cyberchefenigma加密

同样的将密文放到cyberchef中解密即可

flag值

flag{HELLOCTFERTHISISAMESSAGEFORYOU}

ezEvtx

下载附件打开后,点击级别筛选一下,发现一个警告事件

文件名是flag

flag值

flag{confidential.docx}

flowzip

wireshark中按文件长度排序,发现一个压缩包流量与其他长度不一致

提取出压缩包

解压后得到flag

flag值:

flag{c6db63e6-6459-4e75-bb37-3aec5d2b947b}

ShadowPhases

image-20250426131934915

64位程序,没有壳

ida64打开

逻辑比较简单,在比较处下断点

开始调试,程序停止后查看Str2的值,得到flag

flag值:

flag{0fa830e7-b699-4513-8e01-51f35b0f3293}

BashCrack

函数中有一个生成密钥的函数,将前面的条件nop

运行得到key

在函数中没有找到加密的逻辑,但是在函数中找到两个rc4的加密算法

key下面找到一串密文

提取出来,利用rc4解密

得到flag

flag值:

flag{8263b6c6-094d-4bd8-bbc2-b63ab34e8db7}

exp:

key = b"EC3700DFCD4F364EC54B19C5E7E26DEF6A25087C4FCDF4F8507A40A9019E3B48BD70129D0141A5B8F089F280F4BE6CCD"
enc = [0xBB, 0xCA, 0x12, 0x14, 0xD0, 0xF1, 0x99, 0xA7, 0x91, 0x48,
0xC3, 0x28, 0x73, 0xAD, 0xB7, 0x75, 0x8C, 0x89, 0xCD, 0xDD,
0x2D, 0x50, 0x5D, 0x7F, 0x95, 0xB1, 0xA4, 0x9D, 0x09, 0x43,
0xE1, 0xD2, 0xE9, 0x66, 0xEA, 0x18, 0x98, 0xC6, 0xCC, 0x02,
0x39, 0x18]
m = bytes(enc)

S = list(range(256))
j = 0
for i in range(256):
j = (j + S[i] + (key[i % len(key)] ^ 0x37)) % 256
S[i], S[j] = S[j], S[i]

i = j = 0
result = []
for byte in m:
i = (i + 1) % 256
j = (j + S[i]) % 256
S[i], S[j] = S[j], S[i]
k = S[(S[i] + S[j]) % 256]
k = ((16 * k) | (k >> 4)) & 0xff
result.append((byte ^ k)&0xff)

flag = bytes(result)

print(flag)