首先看到一些http的流量包,发现里面似乎传输了一些文件,导出
然后发现一些png,用stegsolve打开,在其中一张图片发现flag
一张图片,用stegsolve打开,发现red0,blue0,green0通道藏了信息
导出这些信息,注意bit plane order不一定是RGB,如果预览中的16进制信息是乱码,可以考虑更改bit plane order
尝试打开这张png,发现无法显示,然后用010editor打开,发现是文件头多了一些字符,删掉就好
但是只有半张二维码,猜测修改了宽高
改宽高,然后是一张二维码,下载下来,是一个pyc文件
用pyc反编译网站解码,https://tool.lu/pyc/,得到一下代码:
#!/usr/bin/env python # visit https://tool.lu/pyc/ for more information # Version: Python 2.7 import base64 def encode(): flag = '*************' ciphertext = [] for i in range(len(flag)): s = chr(i ^ ord(flag[i])) if i % 2 == 0: s = ord(s) + 10 else: s = ord(s) - 10 ciphertext.append(str(s)) return ciphertext[::-1] ciphertext = [ '96', '65', '93', '123', '91', '97', '22', '93', '70', '102', '94', '132', '46', '112', '64', '97', '88', '80', '82', '137', '90', '109', '99', '112']
写个脚本求一下flag,
def decode(arg1): ciphertext = arg1[::-1] flag = '' for i in range(len(ciphertext)): if i % 2 == 0: s = int(ciphertext[i]) - 10 else: s = int(ciphertext[i]) + 10 s = s ^ i flag += chr(s) print(flag) if __name__ == '__main__': ciphertext = [ '96', '65', '93', '123', '91', '97', '22', '93', '70', '102', '94', '132', '46', '112', '64', '97', '88', '80', '82', '137', '90', '109', '99', '112'] decode(ciphertext)
得到flag:flag{Y@e_Cl3veR_C1Ever!}
流量分析题,先提取http文件,然后找到其中有一个zip加了密,用010发现是伪加密,打开
然后在其中一个文件找到flag