第四届“长城杯”铁三初赛Misc方向题解

Misc

find_the_flag

流量分析,使用tshark提取

这里我们需要的数据只有延时盲注的payload,但是wirshark里面有很多数据

可以-T指定提取json格式的数据

tshark.exe在wirshark目录下,在该目录下直接打开终端进行提取操作即可

image-20230331174728316

1
tshark.exe -r traffic.pcapng -T json> traf2.txt

使用json的好处是我们可以在json格式的数据中查找到详细的数据的字段名,方便后面对数据的处理

这个方法不止可以用在这里,像2022年国赛的一道键盘流量分析题,键盘的数据并没有放在常规的usb.capdata里,使用json先提取再查看就可以很容易发现是放在usbhid.data里

image-20230331170222695

我们只需要的是http.file_data后面的值,因此strings提取出需要的数据

1
strings traf2.txt | grep http.file_data > 123.txt

image-20230331170423857

image-20230331170442218

现在数据还是不太好看,像盲注这种数据量很大的题目我认为对数据的精简十分重要

因此继续用vscode里面的更改所有匹配项功能,批量操作光标对数据进行简化处理

image-20230331170636147

这个延时盲注有几千条,但遵循的仍是先爆库名,再表名,再字段

我们需要关注的只有最后的步骤就好了,处理好只剩下!=的字段:

现在这里数据已经比较好看了

image-20230324172042518

写脚本对!=的部分提取

1
2
3
4
5
6
7
import re
f=open('./new.txt','r',encoding='utf8').readlines()
for i in range(len(f)):

a=f[i].split('!=')[1]
b=a.split(')')[0]
print(chr(int(b)),end='')

image-20230324172054521

需要一些脚本

给出一堆加密的压缩包,拿几个爆破会发现压缩包的密码是从10000-10126的

脚本写的不好,数据量并不大,时间有限又没有很合适的脚本,手撸得到全部内容

image-20230324172148842

这里给出一堆没见过的文件,但是搜索可以发现

image-20230331171255981

这是linux下文件切割命令后产生的文件

放到kali里合成原来的文件

image-20230324172222298

得到一张图片

image-20230324172238761

观察通道发现最低通道存在lsb隐写

image-20230331171445863

image-20230331171505440

image-20230331171520183

直接提取数据看不出什么有用信息

结合附件名字叫flag.zip,再加上图片的信息为“flag is not here”

猜测flag为密钥

使用cloacked-pixel进行解密得到flag

1
python2 lsb.py extract 123.png 233.txt flag

image-20230331171722303

image-20230324172423085

tips:

1
2
3
4
5
6
7
8
9
10
cloacked-pixel使用
加密:
python lsb.py hide big.png 1.txt 123456
ps: hide:表示加密模式; big.png:待加密的png图片; 1.txt:存放payload; 123456:加密的密码
解密:
python lsb.py extract big.png-stego.png 3.txt 123456
ps: extract:表示解密模式; big.png-stego.png:待解密的png图片; 3.txt:存放导出的payload; 123456:解密密码
分析:
python lsb.py analyse big.png-stego.png
ps: analyse:表示分析模式; big.png-stego.png:待分析的png图片; 运行后会对图像进行分析,将其分割成块,标记每个块的最低有效位

p.pcapng

这题不明确它考点是什么,追踪tcp流可以倒着读出flag,逆天题

image-20230331174112569