summer14

文件隐写(二)

BUUCTF:梅花香之苦寒来

属性提示“会画图吗”,猜测要使用pillow库

  

 记事本打开,文件存在大量十六进制数据。

  

把十六进制转为字符串

#!/usr/bin/env python3

f = open("test.txt", "r")
f2 = open("asc.txt", "w")
s = f.read()
for i in range(0, len(s), 2):
    f2.write(chr(int(s[i:i+2], 16)))

得到一堆坐标点

  

结合“会画图吗”的提示,取这些像素,重新生成一张图片。

#!/usr/bin/env python3

from PIL import Image, ImageDraw

#创建一个280 * 280的画布,背景全白
im = Image.new('RGB', (280, 280), (255, 255, 255))

#创建一只画笔
draw = ImageDraw.Draw(im)

#获取每个像素点
f = open("asc.txt", "r")
line = f.readline()
while line:
    xy = line.strip('\n').strip('(').strip(')').split(',')
    width = int(xy[0])
    height = int(xy[1])
    #为这个像素点涂上黑色
    draw.point((width, height), fill=(0, 0, 0))
    line = f.readline()
im.show()

  

扫码得到flag。 

 

steag 300

得到一个音频文件,Audacity打开,发现是曼彻斯特编码

  

由低到高跳变为0,由高到低跳变为1

根据跳变规律得到

二进制    十进制   ascii字符
01100010 98 b
01100001 97 a 01101011 107 k 01100100 100 d 01101111 111 o 01110010 114 r

 

欢迎来到地狱

题目:http://ctf5.shiyanbar.com/stega/hell/欢迎来到地狱.zip

hxd打开“地狱伊始.jpg”,文件尾为FFD9,因此文件为jpeg类型

  

把文件头改成FFD8,另存为.jpeg文件。

  

获取邪恶资源(不是)https://pan.baidu.com/s/1i49Jhlj,得到一个音频文件。

Audacity打开,查看波形图,像是摩尔斯密码。

  

解码得到KEYLETUSGO。

“第二层地狱.docx”密码为LETUSGO,输入密码。

docx包含一张哈士奇图片。查看docx有没有隐藏文字:全选—右键—字体—取消"隐藏"。发现提示:image steganography。

把哈士奇图片取出来,放入stegsolve分析,尝试颜色通道、LSB、Stereogram Solver没有任何发现。

只能看write up,write up放到一个在线网站进行解析:http://www.atool.org/steganography.php,得到key{you are in finally hell now}

下一关,输入解压密码"you are in finally hell now"成功解压"快到终点了.zip"。

"最后一层地狱.txt"包含一段二进制串,转为字符串。

s = "01110010011101010110111101101011011011110111010101101100011010010110111001100111"
"".join([chr(int(s[i:i+8],2)) for i in range(0, len(s), 8)])

返回'ruokouling',弱口令?那就是要把"地狱大门.jpg"改成压缩包格式咯。使用hxd修改文件头为504b0304,改成zip文件。

爆破zip:ARCHPR 字典爆破,字典选用rockyou.txt。这个字典kali就有自带的。

爆破出密码Password,使用密码解压zip,得到小姐姐.txt。

  

凯撒+??+base64,中间经过什么加密?还得看write up。好吧,是rabbit。

所以还原flag流程就清晰了。base64,rabbit,凯撒按顺序转换。

posted on 2023-05-13 00:48  summer14  阅读(102)  评论(0编辑  收藏  举报

导航