首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >BUUCTF - [SUCTF2019]protocol

BUUCTF - [SUCTF2019]protocol

原创
作者头像
OwenW
发布2025-10-24 17:46:37
发布2025-10-24 17:46:37
1160
举报
文章被收录于专栏:BUUCTF通关之路BUUCTF通关之路

下载题目文件,zip中包含了一个名称为“usbtraffic”的pcapng日志文件。由于名称是usbtraffic,尝试用工具提取键盘敲击数据,结果没有提取出特别信息。打开wireshark开始看具体的数据包流量。

数据包不少,而且很多看数据都是无用日志,这里从大到小对所有数据包进行排列,发现有大量大小为7845,数据内含有PNG标识符的文件。

可以通过foremost进行分离,把所有的png图片分离出来。

代码语言:txt
复制
foremost usbtraffic.pcapng 

图片很多这里没有截取全部,所有的图片要么是某个字符的左右颠倒,要么是纯黑的。这里应该是需要对这些字符进行排序,排序的关键就在于每张黑色的图。虽然直接看是一样的,但如果仔细看数据包,会发现其中有一位是不同的,比如下图高亮的0c。

这个不同的值在hid数据的padding中,我们可以通过下面给的过滤器过滤所有的图片数据包。

代码语言:txt
复制
frame.len == 7845

然后选中任意数据包,通过“CTRL+Shift+I”查看所有数据包的padding。

前面15个包的PNG内容不同,中间10个包除了前面这个不同的位之外PNG内容相同。数量上和前面foremost导出的图片相同,也就是15个不同的图片加上10个纯黑色的图片。我们把上面开头的数字和相应顺序的图片进行备注,备注后就可以推断出中间跟着的纯黑图片的具体对映内容了。

具体以上图为例,通过日志中padding的异位进行标注后,可以发现基本都是15个字符加上10个纯黑图。每25个图片可以看作是一组,同组中前15位代表十六进制位数对应的字符,比如第一组4对应字母t,8对应大写字母W,纯黑图也有十六进制,通过同组中的前15个对照可以得到纯黑图的具体字符表示。

代码语言:txt
复制
比如第一组的 6 7 e 4 1 d 0 2 b 9
对照前面对照出来得到 s u c t f { M y _ u
合在一起就是 suctf{My_u

后面每一组都可以通过这种方式得到黑色图片的对应字符内容。全部得到并拼接就是答案。

代码语言:txt
复制
suctf{My_usb_pr0toco1_s0_w3ak}

类型

日志分析、解谜

工具

wireshark

Flag

flag{My_usb_pr0toco1_s0_w3ak}

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档