安恒2018年三月月赛MISC蜘蛛侠呀
到处都是知识盲区hhh
下载了out.pcap之后,里面有很多ICMP包
看到ttl之后联想到西湖论剑里面的一道杂项题,无果
看WP知道可以使用wireshark的tshark命令提取流量包里面的文件,原因在于
$$START$$ END CERTIFICATE
这些都在提示我们流量包里面传输了一个文件,从开始到结束
wireshark跨平台,在windows和linux上面都可以很好使用,我直接在命令行里面输出data文件了。
tshark的命令参数参考:
https://www.cnblogs.com/liun1994/p/6142505.html
我们采用这个命令
tshark -r out.pcap -T fields -e data > out.txt
-r 读取本地文件,也就是我们下载的pcap包
-T 设置解码结果输出的格式
-e 当-T字段指定时,设置输出哪些字段
打开得到的out.txt文件看看
看起来好像是十六进制,我们使用python脚本转换一波
lines=open('out.txt','rb').readlines()
file=open('old_file.txt','wb')
for line in lines:
file.write(line.strip().decode('hex'))
file.close()
打开得到的old_file.txt文件
可以看出来有重复冗余字段,也就是每四行都是重复的。
于是再写一个去冗余的脚本
a=open('old_file.txt')
f=open('old2_file.txt','w')
i=0;
result=''
while i!=72156:
result=a.readline()
if i%4==0:
f.write(result)
i+=1
result=''
f.close()
现在打开old2_file.txt文件
可以看出来已经去除了冗余部分,不过第一行和最后一行是多余的,同时每一行开始的九个字符也是多余的,剩下的组合起来看上去就像是BASE64编码,于是再写脚本去除这些多余的东西,同时base64解码
import base64
lines=open('old2_file.txt','rb').readlines()
file=open('new_file','wb')
result=''
for line in lines[1:-1]:
result+=line[9:].strip()
file.write(base64.b64decode(result))
得到的new_file文件头是PK
很自然的将其后缀名改为.zip
压缩包里面有一张帧数很奇怪的蜘蛛侠gif
在看的时候就感觉一卡一卡的。
使用linux的 identity 命令查看一下
大部分都是20 和 50,将其视作二进制编码 ,20 为0,50为1,binary转hex转ascii码
最后得到字符串mD5_1t
我们将这个字符串进行MD5加密之后即是flag