下载地址:https://www.lanzous.com/i9e23fi
binwalk。foremost得到了一个MP3以及两张图片
JPG。首先就右键看下有没有敏感信息。或提示。隐写
MP3。基本就看波形。看详细信息。MP3隐写
群主后来放出了Hint。和MP3无关。那么方向基本就是JPG隐写了
经过一番尝试。一个个试。。终于试出来了
base64解码后。是一个URL。下载得到red5.zip
得到一串类似16进制字符串的数据
写脚本解码下
f=open('flag.txt','r')
data=f.read()
f.close()
result=''
for i in range(0,len(data),2):
result+=chr(int('0x'+data[i:i+2],16))
print result
得到如下的东西
刷过PIL题的我。一眼就看出来。这是RGB的值。前面的是坐标。接下来就写个脚本。将坐标和值。用PIL库画图
from PIL import Image
import re
pic=Image.new("RGB",(200,200))
file=open('3.txt','r')
#3.txt中数据格式如下
#[71:72](255, 255, 255)
#[71:73](255, 255, 255)
add=[]
m=file.read().split("\n")
for i in range(len(m)-1):
data=re.match('\[(.*)\]',m[i]).group(1).split(':')
add.append(data)
#将坐标取出来。用:分割作为一个数组放入add数组。成为二维数组
f=open('yes.txt','r')
#yes.txt是只有RGB值的数据
data=f.readlines()
rgb=[]
for i in range(len(data)):
rgb.append(data[i].replace("\n","").split(','))
#取出来。用逗号分割
for i in range(5328):
pic.putpixel([int(add[i][0]),int(add[i][1])],(int(rgb[i][0].replace('(','')),int(rgb[i][1]),int(rgb[i][2].replace(')',''))))
#这一步比较复杂。pic.putpixel([x,y],(255,255,255))
#x,y是坐标,(255,255,255)就是RGB值。这里我用二维数组。将每个值。单独取出来。
pic.show()
得到了一个二维码。但貌似。上下颠倒了
用画图工具。截取上面的放下面。下面的放上面。
扫描二维码。得到flag