0x01 this_is_flag

对!!!这就是flag

0x02 ext3

题目提示是Linux光盘,附件下载下来

在linux中挂载mount linux /mnt

找一下flagtrings linux | grep flag,发现在这个路径~root/Desktop/file/O7avZhikgKgbF/flag.txt

ZmxhZ3tzYWpiY2lienNrampjbmJoc2J2Y2pianN6Y3N6Ymt6an0=

Base64 Decode flag{sajbcibzskjjcnbhsbvcjbjszcszbkzj}

0x03 give_you_flag

附件下载下来是一个gif,Stegsolve打开,使用Analyse中的Frame Browser一张一张看,到50张会有一个残缺二维码

二维码缺失的部分是它的3个定位点,想办法补全,扫描得到flag{e7d478cf6b915f50ab1277f78502a2c5}

0x04 pdf

附件是一个pdf,pdf中文字设置成了透明的直接复制出来就好

flag{security_through_obscurity}

0x05 坚持60s

一个Java的游戏,直接解压,用java反编译工具反编译,在文件中可以找到PlaneGameFrame.class中找到flag,再将大括号中base64解码就行了。

0x06 如来十三掌

下载下来时一堆很有佛性汉字,看了看,猜测与佛论禅

得到一串MzkuM3gvMUAwnzuvn3cgozMlMTuvqzAenJchMUAeqzWenzEmLJW9

直接Base64 Decode不行,看题目十三掌,

ROT13解密得到ZmxhZ3tiZHNjamhia3ptbmZyZGhidmNraWpuZHNrdmJramRzYWJ9

再Base64 Decode 得flag{bdscjhbkzmnfrdhbvckijndskvbkjdsab}

0x07 gif

附件解压后,发现一堆黑白照片,一共104张

白色为0,黑色为1得到

01100110011011000110000101100111011110110100011001110101010011100101111101100111011010010100011001111101

二进制转字符串得到fflag{FuN_giF}

0x08 SimpleRAR

下载下来是一个rar压缩包,直接解压只有一个flag.txt文件,但是打开只是提示flag is not here

binwalk分析没有发现,使用winhex打开,发现又secret.png,但是16进制文件头有问题,将7A改成74

重新解压得到一个空白得png文件使用binwalk分析是一个gif,将后缀修改

用Stegsolve打开,使用Analyse中的Frame Browser分离出两个图片以png方式保存,再分别用Stegsolve打开,调整通道可以得到如下图片

将两张图片拼接在一起,并补全定位点,扫描得到flag{yanji4n_bu_we1shi}

0x09 stegano

附件是一个pdf,打开不能看出什么,binwalk和winhex也没有发现什么,使用firefox的开发者工具pdf.js,控制台输入:document.documentElement.textContent

将A转为 . B转为-,得到摩斯密码

-.-. --- -. --. .-. .- - ..- .-.. .- - .. --- -. ... --..-- ..-. .-.. .- --. ---... .---- -. ...- .---- ..... .---- -... .-.. ...-- -- ...-- ..... ..... ....- --. ...--

翻译后CONGRATULATIONS.FLAG:JNV151BL3M3554G3

最后答案为FLAG{JNV151BL3M3554G3}

0x10 掀桌子

题目给了一串字符串

c8e9aca0c6f2e5f3e8c4efe7a1a0d4e8e5a0e6ece1e7a0e9f3baa0e8eafae3f9e4eafae2eae4e3eaebfaebe3f5e7e9f3e4e3e8eaf9eaf3e2e4e6f2

两个一位,16进制转10进制,然后减去128再转成字符,贴上解密代码

string = "c8e9aca0c6f2e5f3e8c4efe7a1a0d4e8e5a0e6ece1e7a0e9f3baa0e8eafae3f9e4eafae2eae4e3eaebfaebe3f5e7e9f3e4e3e8eaf9eaf3e2e4e6f2"
flag = ''
for i in range(0,len(string), 2):
   s = "0x" + string[i] + string[i+1]
   flag += chr(int(s, 16) - 128)

0x11 功夫再高也怕菜刀

附件是一个wireshark得文件,使用foremost可以分离出一个有密码的压缩包

使用wireshark打开,分组字节流搜索flag

再追踪TCP流,追踪到di7个的时候,发现有一个666.jpg,

前面也刚好有一大串FFD8FF开头的16进制,可以看出是jpg

写(抄)了一段C#代码,转成jpg

        public static void hexToJPG()
      {
          FileStream fs = new FileStream("E:\\study\\CTF\\test.jpg", FileMode.Create, FileAccess.Write);
          BinaryWriter bw = new BinaryWriter(fs);
          StreamReader sr = new StreamReader("E:\\study\\CTF\\test.txt");
          while (sr.Peek()!=-1)
          {
              string tempStr = sr.ReadToEnd();
              int tlenth = tempStr.Length / 2;
              int pos = 0;
              string[] str = new string[tlenth];
              for (int i = 0; i < tlenth; i++)
              {
                  str[i] = tempStr.Substring(pos, 2);
                  pos = pos + 2;
                  string cc = str[i];
                  byte tempByte = Convert.ToByte(str[i], 16);
                  bw.Write(tempByte);
              }
          }
          fs.Close();
          bw.Close();
          sr.Close();
      }

得到密码后,解压缩压缩包得到flag.txt,打开flag{3OpWdJ-JP6FzK-koCMAK-VkfWBq-75Un2z}

0x12 base64stego

附件压缩包在win中解压有密码,在linux中,直接binwalk -e flag.zip

可以直接得到一个stego.txt文件,原压缩包是未=伪加密,txt文件是一堆字符串

判断是使用的Base64隐写,直接贴上py代码解密,得到flagflag{Base_sixty_four_point_five}

def get_base64_diff_value(s1, s2):
  base64chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'
  res = 0
  for i in xrange(len(s1)):
      if s1[i] != s2[i]:
          return abs(base64chars.index(s1[i]) - base64chars.index(s2[i]))
  return res
def solve_stego():
  with open('stego.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()

0x13 真是太菜了,今天的我也是个卑微的弟弟呢!

攻防世界MISC新手练习的更多相关文章

  1. 攻防世界 Misc 新手练习区 stegano CONFidence-DS-CTF-Teaser Writeup

    攻防世界 Misc 新手练习区 stegano CONFidence-DS-CTF-Teaser Writeup 题目介绍 题目考点 隐写术 摩斯密码 Writeup 下载附件是PDF文件打开,研究一 ...

  2. 攻防世界 Misc 新手练习区 ext3 bugku Writeup

    攻防世界 Misc 新手练习区 ext3 bugku Writeup 题目介绍 题目考点 WinHex工具的使用 linux磁盘挂载mount命令 Writeup 下载附件拖进winhex分析一下,查 ...

  3. 攻防世界 Misc 新手练习区 gif Writeup

    攻防世界 Misc 新手练习区 gif Writeup 题目介绍 题目考点 仔细联想 字符转换 Writeup 下载附件并打开 104张黑白图 发现是一堆黑色和白色的图片,按某种规律排列,猜想flag ...

  4. 攻防世界 Misc 新手练习区 坚持60s Writeup

    攻防世界 Misc 新手练习区 坚持60s Writeup 题目介绍 题目考点 java反编译 jd-gui 的使用 Writeup 下载附件并打开 kali执行命令 java -jar 9dc125 ...

  5. 攻防世界 Misc 新手练习区 give_you_flag Writeup

    攻防世界 Misc 新手练习区 give_you_flag Writeup 题目介绍 题目考点 gif图片分离 细心的P图 二维码解码 Writeup 下载附件打开,发现是一张gif图片,打开看了一下 ...

  6. 攻防世界 Misc 新手练习区 如来十三掌 Writeup

    攻防世界 Misc 新手练习区 如来十三掌 Writeup 题目介绍 题目考点 佛曰加密.base64.Rot13等加密方法的了解 Writeup 下载并打开附件 联想到佛曰加密,复制内容到 佛曰加密 ...

  7. 攻防世界——Misc新手练习区解题总结<3>(9-10题)

    第九题SimpleRAR: 下载附件后得到一个压缩包打开后得到如下提示 文件头损坏,让我们打开winhex看一下 7a为子块而文件头为74,这里将7a改为74(这里我也不是很清楚,详细大家可以自行去查 ...

  8. 攻防世界——Misc新手练习区解题总结<2>(5-8题)

    第五题gif: 下载附件后,解压得到这样一个文件 几经寻找无果后,发现是不是可以将gif中的黑白图片看做二进制的数字,进而进行解密 最后用二进制转文本得到flag 第六题掀桌子: 看起来是16进制的密 ...

  9. 攻防世界——Misc新手练习区解题总结<1>(1-4题)

    第一题this_if_flag: 第一题就不多说了,题目上就给出了flag复制粘贴就可以了 第二题pdf: 下载附件后,得到如下界面 Ctrl+a全选文字,复制出来看看是什么,粘贴后恰好得到flag ...

随机推荐

  1. select([[data],fn])

    select([[data],fn]) 概述 当 textarea 或文本类型的 input 元素中的文本被选择时,会发生 select 事件.大理石平台生产厂 这个函数会调用执行绑定到select事 ...

  2. IDEA更改Maven项目的webapp的版本号

    使用Maven新建的web项目后默认的web.xml为2.3的,以前每次都是从其他文件中拷贝过来的2.5或者3.1的进行替换,怎样指定默认创建web项目的版本? 1.使用IDEA的Help文档具体的过 ...

  3. D. AB-string ( 思维 )

    传送门 题意: 给你一个长度为n的字符串, 字符串只由 A B 组成. 问你这个字符串存在多少个 good string: ( 连续的一段子串 ) good string 的定义就是: 字符串中所有的 ...

  4. python 安装 pyHook

    下载网站:https://www.lfd.uci.edu/~gohlke/pythonlibs/#pyhook 查看python版本 C:\Users\k\Desktop\file_trans> ...

  5. POJ 3186 Treats for the Cows ——(DP)

    第一眼感觉是贪心,,果断WA.然后又设计了一个两个方向的dp方法,虽然觉得有点不对,但是过了样例,交了一发,还是WA,不知道为什么不对= =,感觉是dp的挺有道理的,,代码如下(WA的): #incl ...

  6. Vue图片浏览组件v-viewer,支持旋转、缩放、翻转等操作

    v-viewer 用于图片浏览的Vue组件,支持旋转.缩放.翻转等操作,基于viewer.js. 从0.x迁移 你需要做的唯一改动就是手动引入样式文件: 1 import 'viewerjs/dist ...

  7. spring boot定时任务

    介绍 该demo是基于注解(@Scheduled)以及多线程执行的定时任务. 步骤 启用异步执行 springboot实现异步调用 入口类添加启动注解 @EnableScheduling @Enabl ...

  8. 获得数据源和路径desc.catalogPath

    workspace:C:\Users\dell\Documents\ArcGIS\Default.gdb\ddf inPath:c:\users\dell\documents\arcgis\defau ...

  9. Flutter移动电商实战 --(35)列表页_上拉加载更多制作

    右侧列表上拉加载配合类别的切换 上拉加载需要一个page参数,当点击大类或者小类的时候,这个page就要变成1 provide内定义参数 首先我们需要定义一个page的变量 下图是我们之前在首页的时候 ...

  10. python中的tcp示例详解

    python中的tcp示例详解  目录 TCP简介 TCP介绍 TCP特点 TCP与UDP的不同点 udp通信模型 tcp客户端 tcp服务器 tcp注意点   TCP简介   TCP介绍 TCP协议 ...