国庆大礼包-Misc

第一题

0x00 第一张图片修复图片高度

刚开始打开..就露出了某个大佬的头发,一看就是高度需要修复

  • 高度120转为16进制为78,搜索前面的78改为c8即可,拿到flag前半部分


    图片.png

(表情过于xx,打个马赛克)

0x01 第二张图片base32

2.jpg view hex 拉到最后,一段看上去就像base编码,但是base64解不出,需要使用base32


图片.png

拼起来提交即可

第二题-我可以问问出题人在哪吗??

0x00 第一层-价值观加密

查看 我和我的祖国.jpg的exif详细信息,拿到拿到一段价值观,拿去百度加密即可得到密码


图片.png

0x01 第二层-word文档本质

打开word文档,提示密码在core.xml中,打开core.xml


图片.png

拿到password

0x02 html图片格式

打开发现一段data:image/jpeg;base64开头的字符串,应该是html的base64的资源格式
新建一个文件 img.html


然后打开文件即可


图片.png

0x02 第三层-爆破

打开之后tips提示爆破,拉到Ziperello里,选择小写(hint提示是小写)可以跑出密码为giveup

0x03 第四层-base64隐写

大概百度了一下,找到了个base64隐写的文章,里面给了个解隐写的脚本(这个脚本只能在python2下运行),
拿来用就可以拿到密码

def get_base64_diff_value(s1, s2):
  base64chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'
  res = 0
  for i in xrange(len(s2)):
    if s1[i] != s2[i]:
      return abs(base64chars.index(s1[i]) - base64chars.index(s2[i]))
  return res

def solve_stego():
  with open('2.txt', 'rb') as f:
    file_lines = f.readlines()
    bin_str = ''
    for line in file_lines:
      steg_line = line.replace('\n', '')
      norm_line = line.replace('\n', '').decode('base64').encode('base64').replace('\n', '')
      diff = get_base64_diff_value(steg_line, norm_line)
      pads_num = steg_line.count('=')
      if diff:
        bin_str += bin(diff)[2:].zfill(pads_num * 2)
      else:
        bin_str += '0' * pads_num * 2
      res_str = ''
      for i in xrange(0, len(bin_str), 8):
        res_str += chr(int(bin_str[i:i+8], 2))
        print res_str

solve_stego()
图片.png

0x04 第五层-图穷匕见

..这个名字好像在哪听过,是不是和bugku上某道题一样,
https://www.cnblogs.com/WangAoBo/p/6950547.html#3913508

你可能感兴趣的:(国庆大礼包-Misc)