欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > 能源 > BUUCTF 蜘蛛侠呀 1

BUUCTF 蜘蛛侠呀 1

2025/2/24 23:42:17 来源:https://blog.csdn.net/YueXuan_521/article/details/145374566  浏览:    关键词:BUUCTF 蜘蛛侠呀 1

BUUCTF:https://buuoj.cn/challenges


文章目录

    • 题目描述:
    • 密文:
    • 解题思路:
    • flag:


相关阅读
CTF Wiki
Hello CTF
NewStar CTF
buuctf-蜘蛛侠呀
BUUCTF:蜘蛛侠呀
MISC(时间隐写)蜘蛛侠呀

在这里插入图片描述

题目描述:

将你获得的明显信息md5加密之后以flag{xxx}的格式提交。 注意:得到的 flag 请包上 flag{} 提交

密文:

下载附件,解压得到out.pcap

在这里插入图片描述


解题思路:

1、打开out.pcap,发现大量ICMP报文,携带以$$START$$开头的数据,似乎是Base64数据。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

使用Python脚本,提取数据。

import pyshark
import binascii# 打开PCAP文件并设置过滤器
packets = pyshark.FileCapture('out.pcap', display_filter="icmp.type==0")res = []# 处理每个数据包
for each in packets:try:# 解码ICMP数据负载data = binascii.unhexlify(each.icmp.data).decode()# 去除头部的 $$START$$if data.startswith('$$START$$'):data = data[len('$$START$$'):]# 去除重复项if data not in res:res.append(data)except Exception as e:print(f"Error processing packet: {e}")# 将结果写入文件
with open('out.txt', 'w') as f:f.write(''.join(res))# 关闭数据包读取器
packets.close()print('done')

得到的数据,删除头部和尾部的标识,复制到在线网站进行Base64解码。

Base64 在线解码、编码

在这里插入图片描述

解码后的数据提示是一个zip文件,另存为zip。

在这里插入图片描述

在这里插入图片描述

2、解压zip文件,得到flag.gif

在这里插入图片描述

观察该GIF,发现播放非常缓慢,猜测帧间隔存在隐写数据。这似乎是时间隐写

使用Kali下的identify工具提取数据,命令如下:

identify -format '%T' flag.gif

在这里插入图片描述

2050502050502050205020202050202020205050205020502050205050505050202050502020205020505050205020206666

得到的数据由2050组成,猜想二进制。将20替换为050替换为1,去掉尾部的6666

011011010100010000110101010111110011000101110100

将二进制数据转换为ASCII,得到

2进制到ASCII字符串在线转换工具

mD5_1t

在这里插入图片描述

mD5_1t进行md5加密,得到flag:f0f1003afe4ae8ce4aa8e8487a8ab3b6

MD5加解密工具
在这里插入图片描述


在Kali中使用tshark也可以提取数据,只需要将十六进制数据转换为字符即可。

tshark -r out.pcap -T fields -e data > data.txt

Python脚本如下:

import binasciiwith open('data1.txt','r') as file:with open('data2.txt','wb') as data:for i in file.readlines():data.write(binascii.unhexlify(i[:-1]))

flag:

flag{f0f1003afe4ae8ce4aa8e8487a8ab3b6}

min ⁡ ( Difficulty User ) = min ⁡ ( ∑ i = 1 n ( Query i − Answer i ) 2 ) \min (\text{Difficulty}_{\text{User}}) = \min \left( \sum_{i=1}^{n} (\text{Query}_i - \text{Answer}_i)^2 \right) min(DifficultyUser)=min(i=1n(QueryiAnsweri)2)

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词