• 呜呜我太菜了,只做了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}


现在、你眼中看到了什么?