CTFHub-流量分析
Contents
0x00 前言
菜鸡记录汇总下流量分析的学习过程。
0x01 MySQL流量
用wireshark打开文件进行分析。
首先观察到,用户进行了登录的尝试操作,成功后查询信息等。
追踪tcp流,发现flag。
0x02 Redis流量
Redis 是完全开源的,遵守 BSD 协议,是一个高性能的 key-value 数据库。
打开文件后,直接开始追踪tcp流。修改整个对话后,我们能看到用户对redis的操作,例如info返回关于 Redis 服务器的各种信息和统计数值等等,也可以发现SET的flag值。
0x03 MongoDB流量
MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。
追踪流,发现用户在执行ismaster、showPrivileges等命令,慢慢往下看。发现插入了flag的文档。
0x04 Data
题目:ping 也可以携带数据?
打开wireshark,发现每个响应包的data字段有一个字节不对劲。
把所有的拼接在一起,得到ctfhub{c87eb99796406ac0b}
。
0x04 Length
题目:ping 包的大小有些奇怪
将所有ICMP数据包的Length字段取出来,转换为ASCII码值,即可得到ctfhub{acb659f023}
0x05 LengthBinary
题目:ping 包的大小有些奇怪
打开后发现响应包的length只有106和74两种,根据题目binary可知,代表了0和1的二进制。
可以手动处理,也可以借助脚本。
import subprocess
a=subprocess.check_output("tshark.exe -r icmp_len_binary.pcap -Y icmp.type==8 -T fields -e data.len")
b=a.split()
s=""
res=""
for i in b:
if b'64' in i:
s=s+"1"
if b'32' in i:
s=s+"0"
if len(s) ==8:
res=res+chr(int(s,2))
s=""
print("result:"+res)