CTF集训(2)

MISC入门(1)

nmd,全是脑筋急转弯

编码

  • BASE64:结尾可能有等号,符号只有+/=
  • URL编码:%加上ASCII对应的16进制字符
  • Unicode编码: &#x{Hex} &#{Demical} \U{Hex} \U+{Hex}
  • Jsfuck:[]()!+
  • Brainfuck:><+-.,[]
  • Ook!:Ook!?.的结合
  • Malbolge:各种字符都有的时候
  • coW: moO MoO mOo mOO Moo
  • Whitespace:用不同长度空格进行编程

https://blog.csdn.net/dyw_666666/article/details/89973048

图片隐写

  • 信息隐藏在图片属性

  • 数据类型隐藏

    • 似乎不支持文件格式 后缀不匹配
    • 利用winhex 或者010editor
    • 如果缺少文件头
  • 文件嵌套文件

    • 文件头嵌套或者copy命令
    • 利用winhex分析
    • 利用binwalk命令或者foremost可以提取
  • 文件内部冗余信息

    • 在文件最后加入了一部分编码
    • Winhex
    • Strings命令
  • 基于图片本身的 数据隐藏

    • 宽高隐写
      • 出现在png格式,文件头有宽和高的编码
      • 会有比较明显提示
    • LSB隐写
      • RGB三原色组成,每一种占8位,但是很多部分人眼观察不到
      • 改变人眼观察不到的颜色数据来隐写
      • 只会出现在png、bmp
      • stegsolve
    • png的数据块分析
  • gif分析

    • 利用stegsolve逐帧分析

    • 将图片合并得到flag、得到二维码

习题

面向题解编程,yes

Welcome

看到两个等于号,大概就是BASE64了。

解码一下输出即可。

这是一张单纯的图片

看上去没什么思路,先strings一波

先winhex一波,发现最后有点东西

仔细一看是\u什么什么玩意,那应该是Unicode,解码即可

隐写

发现是一个压缩包,里边是一张图

压缩包好像没什么东西,来分析一下这个图

然后..我们注意到一件很奇妙的事情,这个图在linux下是打不开的

再加上是png格式,所以文件头肯定有问题!

利用winhex打开分析一波

嗯,于是把代表长的A4修改成F4,图片下边就出现了密码。

(更长一点应该也行..

眼见非实

拿到一个叫zip的文件。不知道是啥,先拿binwalk分析,发现只有一个zip

那就是zip吧..解压一下拿到一个docx

打开发现啥都没有,很难受,继续binwalk一波,发现结果是个zip

好,那当成zip解压,进去以后是一堆文件

那就。。找找,发现在word下的document.xml文件里有flag

嗯..应该能写个代码找吧..不知道有没啥更好的办法

pdf_1

我就是wps的受害者。。

用pdf转成word也行

使用pdftotext命令是最简单的方法

数独

我一开始还以为答案是隐写的..没想到真的要做(

那就 解数独工具(

世外桃源

看上去好大,但是并binwalk不出来东西

winhex或者strings好像也分解不出来啥

试试万能的stegsolve..

Red Plane3的时候出现了答案..

阿哒

下载下来一个压缩包,解压是一个表情包

binwalk一波,里边套了娃,仔细看还有flag.txt的痕迹

那当然先提取,谔谔,怎么这个flag是空的

谔谔,怎么这还有带锁的压缩包,里边才是真flag

试试能不能strings暴力破出来,发现并不能

emm,遇到困难问度娘,发现压缩包密码在..在属性里

发现照相机型号有一串明显不是照相机的东西,BASE16一波得到密码,然后解压就行

里边的txt就是密码了(

多种方法解决

发现是一个exe,而且不可执行,阿这

binwalk也分析不了,用winhex分析一波,发现第一行是data:image/jpg;base64 ,那应该是base64格式的图片

所以放到转换器里,发现是个二维码,扫描得到一串字符串

觉得这个字符串比较没规律,是不是得再解解码,发现好像解不出来

然后就交上去试试,过了。。

闪的好快

给一个gif,把每帧都扫一遍连起来就行

有点练手

隐写2

先binwalk一波,发现有点东西,分离出来

发现有一个加密压缩包,第一行写着是密码是三个数,那就暴力破

历史很重要,但是我们会暴力(

破密码解压又是一张图片,用winhex打开

发现最后是flag

这个时候交上去是布星的..关注到最后有一个=号

所以还得解一波码

嗯..

又一张图片,还单纯吗

首先不单纯

binwalk一下发现有东西,但是提取不到

这里可以用神奇的foremost命令

分到了两张图片,第二张就是答案。

嗯,我WA了两次,原因是..QQ识别识别错了..

小 心 人 工 智 障

XOR_1

小云姐已经讲过了..

是我太甜了..这个key是自己写的文件

关注到flag_e是flag xor key得到的,所以两个互相异或一下就是key

这个的代码是这样

1
2
3
4
5
6
7
8
m1 = open('fflag_e.png','rb').read()
m2 = open('fflag.png','rb').read()

l = min(len(m1), len(m2))
s = ""
for i in range(l):
s += chr(m1[i] ^ m2[i])
print(s)

然后我们再把key和flag xor一下就可以还原出来flag原本的样子了,直接改源代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
from itertools import *
from key import key

ki= cycle(key)

fr1 = open("flag.png","rb")
fr2 = open("fflag.png","rb")
fw1 = open("flag_e.png","wb")
fw2 = open("fflag_e.png","wb")

for now in fr1:
for nowByte in now:
newByte = nowByte ^ ord(next(ki))
fw1.write(bytes([newByte]))
fr1.close()
fw1.close()

for now in fr2:
for nowByte in now:
newByte = nowByte ^ ord(next(ki))
fw2.write(bytes([newByte]))
fr2.close()
fw2.close()

DIO_1

先binwalk,发现有东西,但是提取不出来

foremost一波,出来两个图

一个是二维码,扫一下

另一个好像不太直观。。strings和winhex都分析不出来

果断查小云姐题解(

发现用StegSolve的LSB分析,开RGB是0能分析出来

嗯..好像是做的LSB第一道题..穴到虚脱

分别得到两个字符串,合并起来解一下🐎就行

# CTF

Comments

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×