ctfshow-Misc入门 图片篇(50-54)
Posted z.volcano
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ctfshow-Misc入门 图片篇(50-54)相关的知识,希望对你有一定的参考价值。
八神出的misc入门系列
图片篇
图片篇(颜色通道)
misc50
考察Stegsolve
的使用
flag:ctfshow84470883ee1eec2e886436461bf79111
misc51
提示:你会数数吗。
背景颜色杂乱无章,各个通道看了也没有思路,后面八神师傅提示了一下大致方向,才顺利解出来
统计一下每种颜色像素点的个数,发现绝大多数颜色只出现过1-3次,而(64, 96, 128)
出现过282
次,(128, 96, 64)
出现过279
次
思路清晰了,Image.new
新建一个黑色背景的图像,再遍历一次,如果坐标(x,y)
对应的颜色为上述两种其一,则把该坐标对应的像素点变成白色
from PIL import Image
im=Image.open('misc51.png')
im = im.convert('RGB')
img = Image.new("RGB",(900,150))
for h in range(900):
for w in range(150):
s = im.getpixel((h,w))
if s == (64, 96, 128) or s == (128, 96, 64):
img.putpixel([h, w], (255, 255, 255))
img.show()
misc52
提示:不会数数没关系,这次可以用眼睛瞪。
和上一题不一样的地方在于,在某些通道可以依稀看到flag
大概做法和misc51一样,但是不同的是,这题颜色的出现更有规律,每种颜色的出现次数在199-585
次
八神师傅非常贴心,这里只要选择出现次数最少的十种
即可,不需要猜或是爆破
from PIL import Image
im=Image.open('misc52.png')
im = im.convert('RGB')
img = Image.new("RGB",(900,150))
lt = [(130, 176, 116),(72, 217, 123),(146, 16, 141),(130, 241, 105),(251, 160, 136),(5, 129, 88),(167, 46, 187),(20, 65, 141),(96, 231, 225),(196, 144, 18)]
for h in range(900):
for w in range(150):
s = im.getpixel((h,w))
if s in lt:
img.putpixel([h, w], (255, 255, 255))
img.show()
misc53
提示:开始愉快的LSB部分。
关于LSB隐写的基本概念可以参考LSB隐写(最低有效位隐写)
在做题时,如果遇到图片是png
或bmp
格式,就有可能是LSB隐写
大多数情况下,可以用zsteg
一把梭
但是如果出题人稍加操作,就梭不出来了,所以还是得学会使用stegsolve
在R0
、B0
、G0
通道都发现lsb隐写痕迹
使用Analyse
中的data extract
,选上对应选项
misc54
提示:还是愉快的LSB部分。
这个题就没办法用zsteg一把梭,使用stegsolve
分析
在Alpha0
、B0
、G0
通道均发现lsb隐写痕迹,而且和misc53不同的是,这里是竖向排列的,即按列(column
)
勾选上对应选项
以上是关于ctfshow-Misc入门 图片篇(50-54)的主要内容,如果未能解决你的问题,请参考以下文章