[UTCTF2020]icmp-file-transfer

根据题目提示,把icmp流量过滤出来


可以看到返回的请求都带了很长的数据
用tshark提取出来

tshark -r attachment.pcap -Y "icmp.type==0" -T fields -e data >data2.txt 


尝试base64解码,发现解不了
看了wp知道,这道题其实还有配套的环境,需要模仿流量包中的发包方式,从服务器上拿到完整的base64
但是服务器已经关了,,,,

只能放上wp里的脚本

import socket
import struct
from time import sleep

for i in range(1, 32):
    p = bytes.fromhex("0800e4c71337") + \
         struct.pack(">H", i) + \
         bytes.fromhex("00000000000000000000000000000"
                       "00000000000000000000000000000"
                       "00000000000000000000000000000"
                       "000000000")

    s = socket.socket(socket.AF_INET, socket.SOCK_RAW,
                      socket.getprotobyname('icmp'))

    s.sendto(p, ('3.88.183.122', 1))
    data = s.recvfrom(1000000)
    sleep(0.5)

在github上有题目环境源码,有兴趣可以自己搭一个试试
https://github.com/utisss/UTCTF-20
最后把完整的base64解密,得到一个gz压缩包,解压得到flag

posted @ 2023-01-06 21:45  云千  阅读(302)  评论(0)    收藏  举报