考到的有:StegStove.jar工具的使用,binwalk,foremost,010Editer,NTFS数据流隐写,LSB图像隐写
第一题:who_won_the_game
这道题做了挺久的,有个大坑
给了一个棋谱的png图片
尺寸很大 刚开始放进Stegsolve直接卡死
用binwalk可以发现有一个rar压缩包
这里直接ARCHPR暴力破解就好 密码是四位纯数字1020 刚开始六位跑了半天出不来,咳咳
解压后是hehe.gif 自己在下棋2333
这里有个坑 不可以用2345看图王之类的工具进行gif分离 因为会损坏图片 下面你就会怀疑人生了
幸得群内大佬相助 非常感激
用Stegstove打开 analyse,然后frame browser,按住左键不放手,看到一闪而过的时候停下
在310的时候save保存frame310.bmp就行了
接着在打开这个bmp 在红色通道0可以发现一张二维码
扫描即可得到flag{shanxiajingwu_won_the_game}
第二题:
用binwalk可以分析出有东西 直接foremost提取到一张二维码 接着将二维码放到StegSolve中
向右调到绿色通道2就可以看到flag
第三题:喵喵喵
就是原来 月赛【猫片】那道题
StegSolve可以分析出lsb隐写
保存下来 命名为ccc.png 用010Editer去掉这多余的两位
修复后是一个半个二维码 根据大小十六进制 010Editer改下高
二维码扫描可以得到一个百度网盘链接
访问连接可以拿到一个flag.rar
用WinRAR进行解压(这里一定要用winRAR 其他的压缩软件不可以)
接着用lads进行检测发现是NTFS数据流隐写 用一个pyc文件
用ntfsstreamseditor进行导出即可得到这个pyc文件
接着我们可以百度pyc在线反编译 也可以用uncompyle2
分析代码就是简单异或 改下代码即可拿到flag
代码如下:
#!/usr/bin/env python
# encoding: utf-8
import base64
ciphertext = ['96', '65', '93', '123', '91', '97', '22', '93', '70', '102',
'94', '132', '46', '112', '64', '97', '88', '80', '82', '137',
'90', '109', '99', '112']
def encode():
flag = '*************'
ciphertext = []
for i in range(len(flag)):
s = chr(i ^ ord(flag[i]))
if i % 2 == 0:
s = ord(s) + 10
else:
s = ord(s) - 10
ciphertext.append(str(s))
return ciphertext[::-1]
s = ciphertext[::-1]
print s
flag = ''
aa = ['112', '99', '109', '90', '137', '82', '80', '88', '97', '64',
'112', '46', '132', '94', '102', '70', '93', '22', '97', '91',
'123', '93', '65', '96']
for i in range(len(aa)):
if i % 2 == 0:
c = int(aa[i]) - 10
else:
c = int(aa[i]) + 10
flag+=chr(c^i)
print flag
#flag{Y@e_Cl3veR_C1Ever!}