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隐写(最低有效位隐写)

在做题时,如果遇到图片是pngbmp格式,就有可能是LSB隐写

大多数情况下,可以用zsteg一把梭

但是如果出题人稍加操作,就梭不出来了,所以还是得学会使用stegsolve

R0B0G0通道都发现lsb隐写痕迹

使用Analyse中的data extract,选上对应选项

misc54

提示:还是愉快的LSB部分。

这个题就没办法用zsteg一把梭,使用stegsolve分析

Alpha0B0G0通道均发现lsb隐写痕迹,而且和misc53不同的是,这里是竖向排列的,即按列(column)

勾选上对应选项

以上是关于ctfshow-Misc入门 图片篇(50-54)的主要内容,如果未能解决你的问题,请参考以下文章

ctfshow-Misc入门 图片篇(50-60)

ctfshow-Misc入门

ctfshow刷题笔记-misc入门

C# 10分钟完成百度图片提取文字(文字识别)——入门篇

HTML CSS入门必备知识 编写一篇博客(基础标签和图片下载) 个人简历的表格练习

C语言数字图像处理---入门总结篇