# 菜刀 666

image-20250310215559766

题目描述就是流量分析题

image-20250310215627619

打开文件

过滤 POST 的包

http.request.method==POST

tcp.stream eq 7 中发现了大量数据

image-20250310215738283

# jpg 图片的特征:

FF D8开头FF D9结尾,判断为jpg图片,将这些十六进制复制出来,以原始文件流写入文件
png特征
解析:
(固定)八个字节89 50 4E 47 0D 0A 1A 0A为png的文件头
(固定)四个字节00 00 00 0D(即为十进制的13)代表数据块的长度为13
(固定)四个字节49 48 44 52(即为ASCII码的IHDR)是文件头数据块的标示(IDCH)
(可变)13位数据块(IHDR)
前四个字节代表该图片的宽
后四个字节代表该图片的高
后五个字节依次为:
Bit depth、ColorType、Compression method、Filter method、Interlace method
(可变)剩余四字节为该png的CRC检验码,由从IDCH到IHDR的十七位字节进行crc计算得到。
文件尾:AE 42 60 82

图片尺寸为787x500(高x宽)
00 00 00 0D 说明IHDR头块长为13
49 48 44 52 IHDR标识
00 00 03 13 图像的宽,787像素
00 00 01 F4 图像的高,500像素
发现高宽错误
这里需要注意的是,文件宽度不能任意修改,需要根据 IHDR 块的 CRC 值爆破得到宽度,否则图片显示错误不能得到 flag
#Author: MoChu7
import struct
a = open("str.txt","r")#十六进制数据文件
lines = a.read()
res = [lines[i:i+2] for i in range(0,len(lines),2)]
with open("res.jpg","wb") as f:
	for i in res:
		s = struct.pack('B',int(i,16))
		f.write(s)

image-20250310220437168

追踪 tcp 流发现大量数据

image-20250310220626730

以 FF D8 开头以 FF D9 结尾的文件

image-20250310220700111

赋值粘贴将这些数据写入一个文件中形成 jpg 图片:

image-20250310221145221

这下面就是 flag.txt,说明就在流量包里面,可以直接 foremore 解密就行

不用那个就用随波逐流直接秒了

image-20250310221256444

image-20250310221243704

要密码,这时候就是图片发挥作用了

image-20250310221328699

密码:

Th1s_1s_p4sswd_!!!

image-20250310221412360

获得 flag

Edited on

Give me a cup of [coffee]~( ̄▽ ̄)~*

odiws WeChat Pay

WeChat Pay

odiws Alipay

Alipay

odiws PayPal

PayPal