安恒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

posted @ 2020-01-10 17:07  春告鳥  阅读(501)  评论(0编辑  收藏  举报