XCTF:Hidden-Message[WriteUP]

使用Wireshark打开文件

分析能分析的流,这里直接选择UDP流


分别有两段流,内容都是关于物理的

和flag没啥关系,只能从别的方面下手


分析:整个数据包,全部由UDP协议组成

其中发送IP和接收IP固定不变,数据长度也不变固定23

数据包中唯一在变动的数据,就只有发送端的端口

也就是Src Port:

只有0和1的变化,很有可能是二进制转ASCII

这里直接使用wireshark的CLI版本:tshark辅助提取数据

复制代码
tshark -r 8868f595665740159650d6e654aadc93.pcap -T fields -e udp.srcport > data.txt

-r:输入文件

-T fields:只输出我们指定的字段内容

-e:指定字段,这里的形式就是<协议>.<端口类型>

协议只有两种:tcp、udp

端口类型也是两种发出端和接收端:srcport、dstport

最后的 '>' 则是将打印的数据保存到data.txt这个空白文档中


这样就可以把udp协议的所有srcport内容保存下来了

但是这里还有一个问题,我们只需要用到端口的最后一位,也就是

3401

3400

而且,这里每个数据都有一个换行,所以还需要对data.txt的数据处理一下

复制代码
cat data.txt | cut -c 4 > data.txt

使用cut命令,以字符串为单位将第四个字符截取出来

并重新覆盖回data.txt文件中,效果如下:

接下来,使用tr命令将文档中所有换行符删去

复制代码
cat data.txt | tr -d '\n' > data.txt

再次查看data.txt内容

最终获得的字符串:

复制代码
10110111100110101001011010001100100110101001000110011101100110101000110110011000

但是这串字符,直接拿出来二进制转ASCII是乱码

考虑是01反转,写个程序把0和1换一下

复制代码
#include <stdio.h>

int main(){
	char *str="10110111100110101001011010001100100110101001000110011101100110101000110110011000";
	for(int i=0;str[i]!=0;i++){
		if(str[i]=='1')
			printf("0");
		else
			printf("1");
	}
	return 0;
}

获得反转过后的字符:

复制代码
01001000011001010110100101110011011001010110111001100010011001010111001001100111

随波逐流工具启动!

直接将上列反转过后的二进制代码放进来

选择二进制转ASCII


flag:Heisenberg

相关推荐
数据知道3 小时前
漏洞挖掘方法论:从 Fuzz 到 0day 的思维框架
网络·安全·web安全·网络安全
数据知道8 小时前
白盒审计入门:Source Code Review 检查清单
网络·安全·网络安全·代码复审
菜根Sec9 小时前
信息安全工程师该怎么准备考试
web安全·网络安全·信息安全·信息安全工程师
深念Y10 小时前
局域网 HTTP 请求转发 502 问题排查记录
网络·网络协议·http·网络安全·代理·转发·中转
2501_9160074710 小时前
免费抓包工具 Windows 和 Mac 怎么选?根据平台来选择工具
网络协议·计算机网络·网络安全·ios·adb·https·udp
我是乌鸦的空间21 小时前
什么是网络安全中的电子数据取证与响应?
网络·网络安全
网安蟹佬霸1 天前
WAF绕过技术实战:从规则检测到编码绕过全指南(2026最新版,附Payload集与自动化脚本)
运维·安全·网络安全·架构·自动化·网安
数据知道1 天前
移动端渗透测试流程:Android APK 逆向与动态调试
android·web安全·网络安全
电子科技圈1 天前
Semtech将于2026年国际物联网展(IOTE 2026)举办 LoRa®全球生态论坛
物联网·网络安全·健康医疗·制造·零售·iot·交通物流
IPdodo_1 天前
代理 IP 服务商 SLA 怎么验?7 项指标与 Python 探测脚本实战
运维·python·网络协议·网络安全·代理ip