zoukankan      html  css  js  c++  java
  • 安恒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

  • 相关阅读:
    php计算utf8字符串长度
    php和js字符串的acsii码函数
    快速排序的php实现
    bzoj 2822 [AHOI2012]树屋阶梯 卡特兰数
    bzoj 1485 [HNOI2009]有趣的数列 卡特兰数
    bzoj 4173 打表???
    bzoj [Noi2002]Savage 扩展欧几里得
    bzoj 3505 [Cqoi2014]数三角形 组合
    bzoj 2820 莫比乌斯反演
    Travel 并查集
  • 原文地址:https://www.cnblogs.com/Cl0ud/p/12177124.html
Copyright © 2011-2022 走看看