前言
本篇文章不讨论题目质量和赛事规程,只讨论做题方法作为记录使用。复现、公布时间均在比赛结束之后。
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
n = 12194420073815392880989031611545296854145241675320130314821394843436947373331080911787176737202940676809674543138807024739454432089096794532016797246441325729856528664071322968428804098069997196490382286126389331179054971927655320978298979794245379000336635795490242027519669217784433367021578247340154647762800402140321022659272383087544476178802025951768015423972182045405466448431557625201012332239774962902750073900383993300146193300485117217319794356652729502100167668439007925004769118070105324664379141623816256895933959211381114172778535296409639317535751005960540737044457986793503218555306862743329296169569
e = 65537
c = 4504811333111877209539001665516391567038109992884271089537302226304395434343112574404626060854962818378560852067621253927330725244984869198505556722509058098660083054715146670767687120587049288861063202617507262871279819211231233198070574538845161629806932541832207041112786336441975087351873537350203469642198999219863581040927505152110051313011073115724502567261524181865883874517555848163026240201856207626237859665607255740790404039098444452158216907752375078054615802613066229766343714317550472079224694798552886759103668349270682843916307652213810947814618810706997339302734827571635179684652559512873381672063
# 费马因数分解法分解n
deffermat_factor(n):
a = gmpy2.isqrt(n)
b2 = a*a - n
whilenot 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.spammimic.com/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一把嗦
总评
我就不评了,如果有办赛需求的学校可以私信我们哦~
原文始发于微信公众号(中学生CTF):2025御网杯线上初赛WriteUp (Misc、Crypto)
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论