安全矩阵

 找回密码
 立即注册
搜索
查看: 6457|回复: 10

图片隐写术---题三

[复制链接]

7

主题

30

帖子

186

积分

注册会员

Rank: 2

积分
186
发表于 2020-3-31 17:01:57 | 显示全部楼层 |阅读模式

来源:蓝鲸ctf

这一题难度:易

第一题

首先:下载这个图片



然后使用神器:Stegsolve


把这张照片保存就可以了(你们有没有发现这个二维码,和我们见过的不同)

使用光影魔术手这个软件,把这个照片进行反光处理就可以了


使用微信上面的扫一扫就会得到:


最后得到答案: flag{hctf_3xF$235#\x5e3}


原文地址:http://www.mamicode.com/info-detail-2409386.html

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

7

主题

30

帖子

186

积分

注册会员

Rank: 2

积分
186
 楼主| 发表于 2020-3-31 17:04:18 | 显示全部楼层
第二题
难易程度:易

首先使用binwalk就会发现这个图片里面隐藏的有文件

然后使用binwalk xx.png -e 命令进行分离就可以得到隐藏的文件




打开文件就会得到:
最后答案:flag{WelcomeT3WhaleCTF}

题目来源:http://www.mamicode.com/info-detail-2409386.html

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

7

主题

30

帖子

186

积分

注册会员

Rank: 2

积分
186
 楼主| 发表于 2020-3-31 17:08:36 | 显示全部楼层
第三题


难易程度:易

首先:这一题的思路很简单,使用binwalk就可以得到很多信息:





就会看到有隐藏的信息

然后使用foremsot xx.jpg  就会得到隐藏的文件:









打开就会得到:


最后得到答案:flag{youfindmeWHALE}





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

7

主题

30

帖子

186

积分

注册会员

Rank: 2

积分
186
 楼主| 发表于 2020-3-31 17:10:42 | 显示全部楼层
第四题

难易程度:易

首先使用binwalk查看,然而都是看不懂的信息:




傻傻的我以为划红线的是答案所在地

点击进去都是代码看不懂

换一种方法都是我们常用的哦!!!
下面使用hex打开就可以得到答案:

最后得到答案:flag{firsttry}



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

7

主题

30

帖子

186

积分

注册会员

Rank: 2

积分
186
 楼主| 发表于 2020-3-31 17:13:03 | 显示全部楼层
第五题

难易程度易:

这一题我还是请教大佬之后写出来的,而我之所以写成易

是因为它真的很简单,

是我想太多了,当时没有写出来

这一题是需要使用Stegolove就可以做出来了



最后得到答案:GUETCTF{Y0u_sEE_m3}



下面是我错误的步骤,写出来是为了能够告诫自己

开始的时候看见是图片

直接想到使用binwalk就会得到答案

是的这一题分离出来一张图片

然而这个图片并没有什么有用的信息

接着使用 winhex就会发现文件头不对

更改一下文件头发现图片打不开了

(QAQ)

经历了那么多,最后发现那么简单,我只是感觉自己很笨呀(QAQ)


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

7

主题

30

帖子

186

积分

注册会员

Rank: 2

积分
186
 楼主| 发表于 2020-3-31 17:15:05 | 显示全部楼层
第六题


难易程度:易

这一题比较简单,使用winhex就可以得到最后的答案

(为什么那么简单的题目我要想的那么复杂,导致现在开始怀疑自己QAQ)

根据题目的描述就能够想到最后的结果所在地(拉到最后的地方就会得到)



这个是ASCII码,使用ASCII码表对照一下就会得到最后的答案:



最后得到答案:flag{pE3kQzmaMN}

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

7

主题

30

帖子

186

积分

注册会员

Rank: 2

积分
186
 楼主| 发表于 2020-3-31 17:27:03 | 显示全部楼层
第七题

难易程度:中等
(之所以评为中等,并不是因为这一题难,而是因为不容易读,至少我是这样认为的QAQ)

首先:需要下载图片,使用百度云,360浏览器,以及所有可以使用链接下载的工具都可以了:

然后:就会发现图片打开出错

放进winhex中看一下就会发现,文件头缺失

加上GIF8就会保存之后就会得到:

这是一个动图:使用steglove打开发现,看的不清楚,使用2345看图王吧
毕竟这个可以一帧一帧的看

把灰色的部分读取就会得到base64编码的东西:



使用在线工具:

就会得到最后的答案:

key{catch_the_dynamic_flag_is_quite_simple}


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

7

主题

30

帖子

186

积分

注册会员

Rank: 2

积分
186
 楼主| 发表于 2020-3-31 17:36:22 | 显示全部楼层
第八题


难易程度:难
解题思路:总的来说这一题,还是比较难的,可能是自己会的太少,所以这样感觉的,不过这一题还是会学习到许多新的知识的(HHH)。
首先:我们会使用 binwalk  看一下有没有隐藏的文件或者压缩包(但是都没有QAQ)
使用stegolve 也没有任何信息(QAQ)

然后:上网搜一下看看有没有大佬写过这个题目的wp(HHH很聪明呀!!没有什么都没有QAQ)

自己解决吧(自己又上网搜一些关于图片隐写的解题思路,发现pngcheck没有使用过)



使用一一下吧(但是没有工具,自己又蒙蒙的上网找工具(http://www.libpng.org/pub/png/apps/pngcheck.html)

这个工具的使用方法比较简单(具体使用方法,我会在下面解题思路中详细写出来的)

使用cmd(这个cmd今天不知道怎么了就是进不了文件夹里面的内容了,找到一位大佬用另一种方法进入的(QAQ))

我们需要把图片和pngcheck放在同一个文件夹里面



然后使用cmd:



可以看到,正常的块的length是在65524的时候就满了,而倒数第二个IDAT块长度是45027,

最后一个长度是138,很明显最后一个IDAT块是有问题的,因为他本来应该并入到倒数第二个未满的块里

看到下面的数据和上面的不同,关键点就是在这个地方

使用winhex找到(如下图所示的红线的位置)


查找78 9C文件头标志,这个地方需要使用python进行处理就会得到:
  1. import zlib
  2. import binascii
  3. IDAT =("789C5D91011280400802BF04FFFF5C75294B5537738A21A27D1E49CFD17D
  4. B3937A92E7E603880A6D485100901FB0410153350DE83112EA2D51C54CE2E585B15A
  5. 2FC78E8872F51C6FC1881882F93D372DEF78E665B0C36C529622A0A45588138833A1
  6. 70A2071DDCD18219DB8C0D465D8B6989719645ED9C11C36AE3ABDAEFCFC0ACF023E77
  7. C17C7897667").decode("hex")
  8. result = binascii.hexlify(zlib.decompress(IDAT))
  9. print result
复制代码

就会得到:



使用conventer进行hex转化就会得到:

如果ctf做的比较多就会发现,关于0101:

(1)有可能代表的是ASCII码

(2)有可能是二维码:0表示的是黑色,1表示的是白色

关于这个里面的0101,一共有625个,正好是25的平方

借鉴一段代码:
  1. import Image
  2. MAX = 25
  3. pic = Image.new("RGB",(MAX,MAX))
  4. str = "11111110001000011011111111000001011100101101000001101110101000000000101110110
  5. 111010010000000010111011011101011101101001011101100000101010110110100000111111110101
  6. 010101011111110000000010111011100000000110100110000010100111011011110101010010000111
  7. 000000000001010000000010010011010001001110011110111001111000011101111100011001010001
  8. 100111000010101000110100011110101100000101000101100000110111011001000011100111001000
  9. 010111111101000000001101010010001111011111110111000011010110111000001000011001100011
  10. 110101110100011010011111000010111010110001110100111001011101001001110110110001100000
  11. 10110001101000110001111111011010110111011011"
  12. i=0
  13. for y in range (0,MAX):
  14.     for x in range (0,MAX):
  15.         if(str[i] == ‘1‘):
  16.             pic.putpixel([x,y],(0,0,0))
  17.         else:
  18.             pic.putpixel([x,y],(255,255,255))
  19.         i = i+1

  20. pic.show()
  21. pic.save("flag.png")
复制代码


这个需要安装Image库

运行之后就会得到:



使用手机或者在线工具都可以,但是我使用的是QR Research

就会得到答案:

注意flag的格式,以及需要看清0和o的区别,1和I的不同

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

7

主题

30

帖子

186

积分

注册会员

Rank: 2

积分
186
 楼主| 发表于 2020-3-31 17:42:26 | 显示全部楼层
第九题

解题思路:关于这一题有两种解题思路
但是总的来说是一种都是使用一个思想锐化的思维

可能是我太弱了

导致这一题并没有得到最后的答案

首先:看到题目
”p图大神请帮我把模糊的图片弄清楚“
这一句已经很清楚的知道需要使用ps以及其它图片处理工具进行锐化处理

这个地方可以使用图片处理工具有:美图秀秀,ps,光影魔术手
(我比较推荐使用光影魔术手,没有广告)
几个常规的处理技巧


经过处理之后就会得到:


或者使用python:
  1. #coding:utf-8

  2. import Image

  3. img = Image.open(‘ifs.bmp‘)

  4. X = img.size[0]
  5. Y = img.size[1]

  6. print X,Y

  7. for i in range(X-2):
  8.   for j in range(Y-2):
  9.     a = img.getpixel((i,j))[0]+img.getpixel((i,j))[1]+img.getpixel((i,j))[2]
  10.     b = img.getpixel((i,j+1))[0]+img.getpixel((i,j+1))[1]+img.getpixel((i,j+1))[2]
  11.     c = img.getpixel((i,j+2))[0]+img.getpixel((i,j+2))[1]+img.getpixel((i,j+2))[2]
  12.     if (a > b and c > b) or (a < b and c < b):
  13.       pass
  14.     else:
  15.       img.putpixel((i,j),(255,255,255))

  16. img.show()
复制代码


看图得key: At10ISCC421ZLAPL




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

7

主题

30

帖子

186

积分

注册会员

Rank: 2

积分
186
 楼主| 发表于 2020-3-31 17:45:59 | 显示全部楼层
第十题
难易程度:易
直接使用winhex就可以得到答案:
首先:使用winhex打开找到IHDR位置就可以了:
然后知道更改高度就是划红线的地方:
保存之后就会得到最后的答案:FLAG{ihDR_ALSO_FUN}

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2024-11-27 22:45 , Processed in 0.022886 second(s), 19 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表