下载附件解压发现有密码
直接扔010先简单看一下
发现不是伪加密,那就尝试性的爆破一下
找到密码
解压
得到三个文件
我们一个个看一下
首先看一下rsa.py
可以看到这个rsa是将flag分为了两个部分,第一部分的e是根据系统当前时间的时间戳来生成的,第二部分是利用第一部分来进行加密的,这里只给定了n1,c1,分解n1我们只能得到p1和q1根据这两个数可以推出p2和q2,但是我们还不知道e,所以就暂时还解不开
那我们继续往下看这个png图片
打开可以看到没有什么信息,但是用工具分析一下可以看到图片高度被修改了,我们放010还原一下
在下面我们可以看到一个时间,这里可以猜测这个时间就是上一个rsa的脚本的生成时间,根据这个时间来得到时间戳,应该就可以把rsa解开了
得到时间戳为 1674283009
接下来解rsa试一下
先对n1进行一个分解
分解出p1和q1
p1=10683936386746729763
q1=17356272624649433071
然后就是解rsa
from gmpy2 import invert, powmod
from Crypto.Util.number import getPrime, bytes_to_long, long_to_bytes
e = 1674283009
c1 = 131553181340454081103292101619659907602
n1 = 185433312632788243825096480521192192173
p1 = 10683936386746729763
q1 = 17356272624649433071
phi = (p1-1)*(q1-1)
d = invert(e,phi)
m1 = powmod(c1,d,n1)
print(long_to_bytes(m1))
运行脚本得到第一部分flag为 flag{thisi
然后我们解后半部分这里我们先对e2进行运算,计算出来的结果是3
所以可以直接使用小e攻击
解出的flag为 spassword}
所以合起来就是 flag{thisispassword}
然后我们解这个压缩包
解压发现需要密码,我们把刚刚解出来的flag当作密码尝试解压
成功解开压缩包
这里得到一个压缩包和一个zip
可以看到压缩包进行了加密
所以我们应该是要根据这个图片来解密码
图片可以看到上面写的是猜猜这是什么,所以猜测是outguess隐写,密码应该是文件名 parafish
得到密码为happynewyear
解压得到两个文件
打开flag.txt
没有看到什么有用的信息,放010看一下
发现有好多不可打印的字符,所以应该是零宽度字符隐写
解密得到
504B030414000000080019AB4C56177D
BE75EF000000EA00000008000000666C
61672E706E6701EA0015FF89504E470D
0A1A0A0000000D494844520000001500
0000150802000000267532C1000000B1
49444154789C955341128430080B4EFF
FF653CD4A11022EB72701068210985BB
BB3B0000DBC9DF21FE385EEDDF8BEC78
66B9D4EC498523E3179299D98E9609EB
8D145F7D3CEA40CDB9A64FD8E71C5282
A4CC906494523A4AB82815FEA2CEDD32
605445AC2397B2BD7161C4704E0F67CA
1154A9F04D88533F933708B1ED775B31
F3ACBFF4BB7EFB776D5492B9A8CEEC08
FC12B6ECD66B965C7E9ABF2F45F43FEF
3772C499D8990CB64BDA7769B04F4583
DD125A76541DD76B490000000049454E
44AE426082504B010214001400000008
0019AB4C56177DBE75EF000000EA0000
00080024000000000000002000000000
000000666C61672E706E670A00200000
0000000100180025978061E53ED90125
978061E53ED90125978061E53ED90150
4B050600000000010001005A00000015
0100000000
这个是压缩包的十六进制数值
所以用010导入一下
解压得到一个图片
用脚本读取一下像素值
得到:
001101010111010101101000001101010111010101100100001101100011011100111001001101010011000100110111001100110011000001101000001101010111101001101011001101100110111000110011001100110110011101101100001101100110100001110010001101000011100101111000001101000111011001101101001101000111000001100111001101010111011101100110001101000110000100110111001101100110001101100110001100100110100100110100001101010111000000111001000000000000000000000000000000000
尝试用二进制解密
得到一串密文
5uh5ud67951730h5zk6n33gl6hr49x4vm4pg5wf4a76cf2i45p9
尝试用双十六进制解密
得到flag:nynusec{Happy_New_Year_To_You_All}