西普题解(5)

2019-01-19 14:41

3.根据解码的结果可以得到key:/%nsfocusXSStest%/,输入请求框验证答案

隐写术

1.自己动手丰衣足食

1. 先用stegsolve查看一下,其他的LSB之类的并没有发现什么问题,然后看了一下结构发现,有一些异常的IDAT块。如下图所示:

2. 可以看到,正常的块的length是在65524的时候就满了,而倒数第二个IDAT块长度是45027,最后一个长度是138,很明显最后一个IDAT块是有问题的,因为他本来应该并入到倒数第二个未满的块里。

3.我们使用Python来编程,先把这段数据处理一下,保存成16进制的,前面的4字节是长度,然后是标志位IDAT,然后开始是数据,直到D9 CF A5 A8是常crc32校验位,所以实际的数据是:

789C5D91011280400802BF04FFFF5C75294B5537738A21A27D1E49CFD17DB3937A92E7E603880A6D485100901FB0410153350DE83112EA2D51C54CE2E585B15A2FC78E8872F51C6FC1881882F93D372DEF78E665B0C36C529622A0A45588138833A170A2071DDCD18219DB8C0D465D8B6989719645ED9C11C36AE3ABDAEFCFC0ACF023E77C17C7897667

4.用Python来写zlib解压。 import zlib import binascii IDAT =

\DB3937A92E7E603880A6D485100901FB0410153350DE83112EA2D51C54CE2E585B15A2FC78E8872F51C6FC1881882F93D372DEF78E665B0C36C529622A0A45588138833A170A2071DDCD18219DB8C0D465D8B6989719645ED9C11C36AE3ABDAEFCFC0ACF023E77C17C7897667\ result = binascii.hexlify(zlib.decompress(IDAT)) print result

5.发现解出来一些3031的字符串,30和31是hex的0和1的编码,再解一次hex得到一串625长度的01字符串。

1111111000100001101111111100000101110010110100000110111010100000000010111011011101001000000001011101101110101110110100101110110000010101011011010000011111111010101010101111111000000001011101110000000011010011000001010011101101111010101001000011100000000000101000000001001001101000100111001111011100111100001110111110001100101000110011100001010100011010001111010110000010100010110000011011101100100001110011100100001011111110100000000110101001000111101111111011100001101011011100000100001100110001111010111010001101001111100001011101011000111010011100101110100100111011011000110000010110001101000110001111111011010110111011011 6.得到的01串的长度是625,除以8或7都无法整除,也就是说没法直接转换成ascii码,经过分析发现625=25*25,刚好是正方形,尝试一下把这些01组成一个正方形看看是什么,可以用Python的PIL编程可以很方便的画图。

import Image MAX = 25

pic = Image.new(\ str =

\000010111011011101001000000001011101101110101110110100101110110000010101011011010000011111111010101010101111111000000001011101110000000011010011000001010011101101111010101001000011100000000000101000000001001001101000100111001111011100111100001110111110001100101000110011100001010100011010001111010110000010100010110000011011101100100001110011100100001011111110100000000110101001000111101111111011100001101011011100000100001100110001111010111010001101001111100001011101011000111010011100101110100100111011011000110000010110001101000110001111111011010110111011011\ i=0

for y in range (0,MAX):

for x in range (0,MAX): if(str[i] == '1'):

pic.putpixel([x,y],(0, 0, 0)) else:

pic.putpixel([x,y],(255,255,255)) i = i+1

2.SB!SB!SB!

1.这是一个寻找LSB隐藏痕迹的题目,从网上下载一个叫Stegsolve神器,下载地址:http://www.caesum.com/handbook/Stegsolve.jar

2. 打开之后,使用Stegsolve—Analyse—Frame Browser这个可以浏览三个颜色通道中的每一位,可以在红色通道的最低位,发现一个二维码,然后可以扫描得到key:flag{AppLeU0}。

pic.show()

pic.save(\

7.发现一个二维码,扫描得到key:SCTF{(121.518549,25.040854)}

3.当眼花的时候,会显示两张图

1.在Kali Linux下使用binwalk命令确定该文件中含有两个PNG文件,由binwalk知,文件偏移值为0x1D55DC,用winhex将文件分离,保存为1.PNG和2.PNG

(1.PNG)

(2.PNG)


西普题解(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:Z02 精通救生艇筏和救助艇培训船员去回车

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: