安恒萌新粉丝有奖答题第十期三道MISC题目简单记录

考到的有:StegStove.jar工具的使用,binwalk,foremost,010Editer,NTFS数据流隐写,LSB图像隐写

第一题:who_won_the_game

这道题做了挺久的,有个大坑

给了一个棋谱的png图片

安恒萌新粉丝有奖答题第十期三道MISC题目简单记录_第1张图片

尺寸很大  刚开始放进Stegsolve直接卡死

安恒萌新粉丝有奖答题第十期三道MISC题目简单记录_第2张图片

用binwalk可以发现有一个rar压缩包

安恒萌新粉丝有奖答题第十期三道MISC题目简单记录_第3张图片

这里直接ARCHPR暴力破解就好  密码是四位纯数字1020    刚开始六位跑了半天出不来,咳咳

解压后是hehe.gif    自己在下棋2333

安恒萌新粉丝有奖答题第十期三道MISC题目简单记录_第4张图片

这里有个坑   不可以用2345看图王之类的工具进行gif分离   因为会损坏图片  下面你就会怀疑人生了   

幸得群内大佬相助 非常感激

用Stegstove打开  analyse,然后frame browser,按住左键不放手,看到一闪而过的时候停下

在310的时候save保存frame310.bmp就行了

安恒萌新粉丝有奖答题第十期三道MISC题目简单记录_第5张图片

接着在打开这个bmp   在红色通道0可以发现一张二维码

安恒萌新粉丝有奖答题第十期三道MISC题目简单记录_第6张图片

扫描即可得到flag{shanxiajingwu_won_the_game}

第二题:

用binwalk可以分析出有东西   直接foremost提取到一张二维码   接着将二维码放到StegSolve中

向右调到绿色通道2就可以看到flag

安恒萌新粉丝有奖答题第十期三道MISC题目简单记录_第7张图片

安恒萌新粉丝有奖答题第十期三道MISC题目简单记录_第8张图片

第三题:喵喵喵

就是原来 月赛【猫片】那道题

StegSolve可以分析出lsb隐写

安恒萌新粉丝有奖答题第十期三道MISC题目简单记录_第9张图片

保存下来  命名为ccc.png    用010Editer去掉这多余的两位

安恒萌新粉丝有奖答题第十期三道MISC题目简单记录_第10张图片

修复后是一个半个二维码   根据大小十六进制   010Editer改下高

安恒萌新粉丝有奖答题第十期三道MISC题目简单记录_第11张图片

二维码扫描可以得到一个百度网盘链接

安恒萌新粉丝有奖答题第十期三道MISC题目简单记录_第12张图片

访问连接可以拿到一个flag.rar

安恒萌新粉丝有奖答题第十期三道MISC题目简单记录_第13张图片

用WinRAR进行解压(这里一定要用winRAR  其他的压缩软件不可以)

接着用lads进行检测发现是NTFS数据流隐写   用一个pyc文件

安恒萌新粉丝有奖答题第十期三道MISC题目简单记录_第14张图片

用ntfsstreamseditor进行导出即可得到这个pyc文件

安恒萌新粉丝有奖答题第十期三道MISC题目简单记录_第15张图片

接着我们可以百度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!}

 

你可能感兴趣的:(我的CTF之路,------安恒CTF)