- 呜呜我太菜了,只做了Misc和送分的Crypto,全靠队友带飞
- 拿了第30名,差10名进线下>_<,可惜了
rsa
e,phi不互素,e过大,wiener attack求出d,正常rsa求解
flag{ZTAtG3hjH2zpcoB5}
混合编码
base64解密,然后URL解码,最后转ASCII
flag{q1xKpm8vILWrkmXxV6j11MdcGtLzvRyV}
m0usb
打开流量包可以看到一堆usb流量
用fz学长的usb流量分析工具knm.py提取数据
提取后发现是keyboard流量,解得一串01248密码(云影密码)
解码方法:0为分割线,各组内数字相加从26个字母中取即可
flag{THISISFLAG}
m1bmp
Linux下输入指令zsteg txt.bmp -a
可以发现一段在RGB最低位存在一段base64编码,解码即可
flag{l5DGqF1pPzOb2LU919LMaBYS5B1G01FD}
tunnel
打开流量包,看到一堆DNS流量,第一段传输的数据base64解码可发现PK字样,可知为zip文件头
于是用命令tshark -r tunnel.pcap -Y "dns" -T fields -e dns.qry.name > out.txt
提取数据
然后用下面的脚本处理数据,取base64和去重和在结尾补全等号:
f=open('out.txt','r')
fp=open('res.txt','w')
tmp=f.readline().strip('\n')
s=''
while tmp[-8:]!='.evil.im':
tmp=f.readline().strip('\n')
s=tmp[:-8]
while len(s)%4!=0:
s+='='
fp.write(s)
fp.write('\n')
while 1:
a=f.readline().strip('\n')
if a:
if a[-8:]=='.evil.im':
if a!=tmp:
s=a[:-8]
while len(s)%4!=0:
s+='='
fp.write(s)
fp.write('\n')
tmp=a
else:
break
补全等号的原因是每行不补全等号合起来解码得到的zip会报错
合起来拿去CyberChef解码得到一个带密码的zip
因为提取出的base64有很多行,猜测base64隐写
脚本解出password: B@%MG"6FjbS8^c#r
打开zip中的图片得到flag
flag{D01nt_5py_0nmE}
Comments | NOTHING