得到就是这些字符
?
d4e8e1f4a0f7e1f3a0e6e1f3f4a1a0d4e8e5a0e6ece1e7a0e9f3baa0c4c4c3d4c6fbb9b2b2e1e2b9b9b7b4e1b4b7e3e4b3b2b2e3e6b4b3e2b5b0b6b1b0e6e1e5e1b5fd
得到一串字符串,各种base解码之后,发现什么也不是 看着都是 16进制 的 那就两个两个分一批。
?
16进制转字符,发现什么也不是,而且也是加密
但是两个两个分开都是一个数字和一个字符
'd4', '4e', 'e8', '8e', 'e1', '1f', 'f4', '4a', 'a0', '0f', 'f7', '7e', 'e1', '1f', 'f3', '3a', 'a0', '0e', 'e6', '6e', 'e1', '1f', 'f3', '3f', 'f4', '4a', 'a1', '1a', 'a0', '0d', 'd4', '4e', 'e8', '8e', 'e5', '5a', 'a0', '0e', 'e6', '6e', 'ec', 'ce', 'e1', '1e', 'e7', '7a', 'a0', '0e', 'e9', '9f', 'f3', '3b', 'ba', 'aa', 'a0', '0c', 'c4', '4c', 'c4', '4c', 'c3', '3d', 'd4', '4c', 'c6', '6f', 'fb', 'bb', 'b9', '9b', 'b2', '2b', 'b2', '2e', 'e1', '1e', 'e2', '2b', 'b9', '9b', 'b9', '9b', 'b7', '7b', 'b4', '4e', 'e1', '1b', 'b4', '4b', 'b7', '7e', 'e3', '3e', 'e4', '4b', 'b3', '3b', 'b2', '2b', 'b2', '2e', 'e3', '3e', 'e6', '6b', 'b4', '4b', 'b3', '3e', 'e2', '2b', 'b5', '5b', 'b0', '0b', 'b6', '6b', 'b1', '1b', 'b0', '0e', 'e6', '6e', 'e1', '1e', 'e5', '5e', 'e1', '1b', 'b5', '5f', 'fd'
把这些16进制转成 10进制
212, 232, 225, 244, 160, 247, 225, 243, 160, 230, 225, 243, 244, 161, 160, 212, 232, 229, 160, 230, 236, 225, 231, 160, 233, 243, 186, 160, 196, 196, 195, 212, 198, 251, 185, 178, 178, 225, 226, 185, 185, 183, 180, 225, 180, 183, 227, 228, 179, 178, 178, 227, 230, 180, 179, 226, 181, 176, 182, 177, 176, 230, 225, 229, 225, 181, 253
发现都是比128 大的数据,都减去128后,得到下面的一串数字
84, 104, 97, 116, 32, 119, 97, 115, 32, 102, 97, 115, 116, 33, 32, 84, 104, 101, 32, 102, 108, 97, 103, 32, 105, 115, 58, 32, 68, 68, 67, 84, 70, 123, 57, 50, 50, 97, 98, 57, 57, 55, 52, 97, 52, 55, 99, 100, 51, 50, 50, 99, 102, 52, 51, 98, 53, 48, 54, 49, 48, 102, 97, 101, 97, 53, 125
然后利用10进制转ascii 得到flag
That was fast! The flag is: DDCTF{922ab9974a47cd322cf43b50610faea5}
代码段
key='d4e8e1f4a0f7e1f3a0e6e1f3f4a1a0d4e8e5a0e6ece1e7a0e9f3baa0c4c4c3d4c6fbb9b2b2e1e2b9b9b7b4e1b4b7e3e4b3b2b2e3e6b4b3e2b5b0b6b1b0e6e1e5e1b5fd'
hex=[]
flag=''
for i in range(0,len(key)-1,2):
zdh=key[i:i+2]
hex.append(zdh)
for i in range(len(hex)):
zdh1=hex[i]
flag+=chr(int(int(zdh1,16))-128)
print(flag)
?
?
?
就是一个压缩包的解压密码是这个压缩包的名称
?
只能用脚本跑 ,从0573.zip开始 ,解压密码就是0573
import zipfile
name = '0573'
while True:
fz = zipfile.ZipFile(name + '.zip', 'r')
fz.extractall(pwd=bytes(name, 'utf-8'))
name = fz.filelist[0].filename[0:4]
fz.close()
?
解压到最后 有一个qr.zip
?
qr的坐标图为RGB数据 然后弄个代码画出来
import itertools
from PIL import Image
max = 200
file = open("qr.txt", "r")
img = Image.new("RGB", (max, max))
for y, x in itertools.product(range(max), range(max)):
pixel = eval(file.readline())
img.putpixel([x, y], pixel)
img.show()
?
扫码得到flag
MRCTF{ta01uyout1nreet1n0usandtimes}
flag{ta01uyout1nreet1n0usandtimes}
?
?
流量分析题,提示有很多图片,那就都导出来
?
?
使用kali 工具 exiftool 工具 查看所有图片信息 并过滤flag ?
exiftool ./*.jpg | grep flag
flag{ae58d0408e26e8f
另一半在还在流量包里面
追踪tcp 流到114 发现大量的点和别的不一样 ,在下面找到了另一半
拼接得到flag
flag{ae58d0408e26e8f26a3c0589d23edeec}