前言

本篇文章不讨论题目质量和赛事规程,只讨论做题方法作为记录使用。复现、公布时间均在比赛结束之后。

Misc

ez_picture

15.png,直接脱到随波逐流工具中查看。

随波逐流工具在LSB row信息的RGB通道检测出999999999

大概率是下面压缩包的密码

解压后得到皮卡丘图片一张

继续随波逐流工具

图片的Exif信息的Image XPSubject中含有Base64

一键解码后得到FLAG

easy_misc

easy_misc中包含新建文本文档.txt一个

打开查看

77 49 66 77 83 107 104 68 78 70 81 50 90 50 104 87 98 87 74 72 90 85 82 90 99 108 65 51 89 107 48 52 82 109 70 88 98 87 78 122 97 49 107 61 

由于其是2-3个数字一组,推断是10进制转文本

转换结果为M1BMSkhDNFQ2Z2hWbWJORHFMZ01vMThjSDJqeDhHMlk=

然后Base64解密,得到:3PLJHC4T6ghVmbNDqLgMo18cH2jx8G2Y

Base58解密:synt{UAPGSuiliu359Fw0N}

ROT13:flag{HNCTFhvyvh359Sj0A}

套娃

将套娃8的文件夹中的xlsx后缀改成zip,继续打开,发现还有个txt,同样改为zip

在document.xml中找到flag

ez_xor

要xor一下,xor理论上没有-符号,去掉后 空格分割2个字符一组

data = '5f 55 58 5e 42 71 7a 6d 7f 48 4e 5c 78 6a 7d 08 0c 0c 44'
for hex_byte in data.split():
    a = int(hex_byte, 16)
    print(chr(a ^ 57), end='')

光隙中的寄生密钥

foremost 分离

得到一个zip文件

没有密码,爆破

zip密码为9864 得到5a6d78685a3373355447306b576d493151484a554e434e6a546a647166513d3d

CyberChef一键解码

被折叠的显影图纸

下载附件后得到一个xls文件,右键以文本文档打开,直接搜索flag{就能找到了

Crypto

baby_rsa

以文本方式打开enc.exe

和赛前我们讲的RSA基础题目类似,获得n、e、c:

import gmpy2
from Crypto.Util.number import long_to_bytes


2025御网杯线上初赛WriteUp (Misc、Crypto)
n = 12194420073815392880989031611545296854145241675320130314821394843436947373331080911787176737202940676809674543138807024739454432089096794532016797246441325729856528664071322968428804098069997196490382286126389331179054971927655320978298979794245379000336635795490242027519669217784433367021578247340154647762800402140321022659272383087544476178802025951768015423972182045405466448431557625201012332239774962902750073900383993300146193300485117217319794356652729502100167668439007925004769118070105324664379141623816256895933959211381114172778535296409639317535751005960540737044457986793503218555306862743329296169569
e = 65537
c = 4504811333111877209539001665516391567038109992884271089537302226304395434343112574404626060854962818378560852067621253927330725244984869198505556722509058098660083054715146670767687120587049288861063202617507262871279819211231233198070574538845161629806932541832207041112786336441975087351873537350203469642198999219863581040927505152110051313011073115724502567261524181865883874517555848163026240201856207626237859665607255740790404039098444452158216907752375078054615802613066229766343714317550472079224694798552886759103668349270682843916307652213810947814618810706997339302734827571635179684652559512873381672063


# 费马因数分解法分解n
def fermat_factor(n):
    a = gmpy2.isqrt(n)
    b2 = a*a - n
    while not gmpy2.is_square(b2):
        a += 1
        b2 = a*a - n
    b = gmpy2.isqrt(b2)
    return (a - b, a + b)
p, q = fermat_factor(N)
# 计算私钥d
phi = (p - 1) * (q - 1)
d = gmpy2.invert(e, phi)
# 解密
m = pow(c, int(d), n)
flag = long_to_bytes(m).strip()
print(flag.decode())

cry_rsa

p = 473398607161
q = 4511491
e = 19
phi = (p - 1) * (q - 1)
d = pow(e, -1, phi)
flag = d + 2

得到 flag{2023326077889096381}

ez_base

不太理解这道题和Crypto有啥关系?这不是Misc题吗?

复制在https://www./decode.cgi解密

得到一串Base64,Zmxh开头是Base64确认,秒!

gift

莱布尼茨公式,联想到pi和pie,凯撒加密7位 得到wp和wpl,提交flag{wp}不对,提交flag{wpl}正确

草甸方阵的密语

使用文本打开这exe得到k9qrfSl6{uOV78pW32iXQ} 因为开头太长了,但又是flag特征,应该是栅栏,fuzz一下 解码得到kqfl{O7p3iQ9rS6uV8W2X} 再fuzz凯撒一次,赛前写的工具正好用上

easy-签到题

打完这个比赛已经习惯用文本打开exe了

CyberChef一把嗦

总评

我就不评了,如果有办赛需求的学校可以私信我们哦~