只会web,得分太少,还是搞点密码和杂项来提高一下
1.一般加密
1 | 直接用kali的 |
2.SSTV图像声音/Audacity波形声音
1 | 用win10上 |
3.加密压缩包
*1)win10
用win10
工具爆破压缩包密码
2)kali
kali john
爆破压缩包
1 | zip2john 压缩包的名字.zip >> passwdhash.txt |
4.图片隐写
1)win10
利用Stegsolve
解析图片隐写内容
*2)kali
zsteg
1 | zsteg 图片 |
5.零宽字符隐写
http://330k.github.io/misc_tools/unicode_steganography.html
我们开始看这个内容是没有什么问题的,但是底下的
第7行,第204列
说明里面有其他我们无法看到的字符存在
我们可以利用vim
读取一下这个文本文件,就会发现里面多了很多奇奇怪怪的字符
这些就是零宽字符
那么我们如何从中读取信息呢
这里就需要下面这个网站的,对文本的零宽字符加密
和零宽字符解密
功能
1 | http://330k.github.io/misc_tools/unicode_steganography.html |
先选好出现的字符类型
然后
得到隐藏内容
1 | 86MygAZ2uJi2oCxctsd28LBNRXHPLykF5LBz8f1xEikWNVpKfpce2CMHvhSJUdk7CHLrEVhGRVQvMwT8r7JUgVWGbnzxb |
用ciphey
得到flag
6.隐藏秘密(flag)到图片、音乐
win10
Silenteye
把图片或者声音拖入其中
然后执行Decode
得到加密信息
用ciphey
得到flag
7.小游戏
win10
CE修改器,懂得都懂
8.Java类的
利用jd-gui
对java反汇编,看看有没有信息
9.二维码
1)缺少定位点
利用ps
把两者拼接起来就可以了
10.分离图片中的隐藏文件
1)图片分析:
如图为CTF题目中一个隐藏文件的图片
首先对图片进行分析,这里介绍一个工具binwalk(kali中是自带的,也可以下载到windows中使用)。
使用方法:binwalk + 文件路径/文件名
1 | binwalk 1.jpg |
执行命令后,binwalk就会自动分析这个jpg文件:
从分析的结果看,这个jpg文件隐藏着一个zip文件,从48221块偏移开始就是zip文件。
2、如何分离:
在得到隐藏信息后,改如何把zip文件分离出,下面介绍几种方法:
2.1、binwalk 分离:
还是使用binwalk工具,使用dd命令分离出隐藏文件:
1 | dd if=1.jpg of=1.zip skip=48221 bs=1 |
解释:if 指定输入文件,of 指定输出文件,skip 指定从输入文件开头跳过48221个块后开始复制,
bs设置每次读写块的大小为1字节
执行后会得到一个1.zip文件。
2.2、foremost 工具分离:
foremost是一个基于文件文件头和尾部信息以及文件的内建数据结构恢复文件的命令行工具,win可以下载使用,Linux可以通过下面命令安装使用:
1 | apt-get install foremost |
Linux下分离文件的命令为:
1 | foremost 1.jpg |
执行命令后,foremost会生成output目录存放分离出的文件。
Win下是把文件直接拖到 foremost.exe上,也会生成output目录存放分离出的文件。
2.3、hex编辑器分离:
hex编辑器有很多,win下有用得较多的winhex、UltraEdit等,linux下有hexeditor等。这里我们以winhex为例来手动分离。
一个完整的 jpg 文件由 FF D8 开头,FF D9结尾,图片查看器会忽略 FF D9 以后的内容,因此可以在 jpg 文件中加入其他文件。
经过上面的分析, 知道图片中隐藏了zip文件,zip文件的开头16进制为504B0304,先搜索16进制文本 FFD9,然后后面跟着504B0304,于是就可以从 50 开始,复制到最后(因为这里只有一个zip,所以复制到最后),另存为新文件,就得到了隐藏的压缩包。
2.4、改后缀名:
分析知道隐藏文件是zip后,有一个简单粗暴的方法是直接把图片的后缀改为.zip,然后解压即可(这种方法虽然简单快速,但如果隐写了多个文件时可能会失败)。
11.多图片拼图
Misc 自动拼图
需要使用python
遗传算法脚本gaps
和拼图脚本montage
开始拼图
以ctf中的一道训练题puzzle为例
如果图片为碎片状,根据总数确定拼块长宽数量,并用montage进行第一次拼接
1 |
1 | montage *.png -tile 16x16 -geometry +0+0 flag.png |
运行后在目录下可找到如下图片
运行后在目录下可找到如下图片
接着最关键的一点,调整图片长宽比为1:1,可以用PS->图像大小,以较大数值为边长,扩充为正方形(方便后续size的计算),否则后期gaps无法获得最佳效果
接下来就是调用gaps脚本实现自动拼图排序(重点)
1 | #此处的size为正方形小拼块的边长像素,由于刚刚经过拉伸,拼块从160×100变成了160×160 |
1 | 补充:gaps各参数的作用 |
1 | 总结 |
12.zip伪加密【360压缩无视伪加密】
1)zip 文件
1 | 一个 ZIP 文件由三个部分组成: |
2)伪加密原理
1 | zip伪加密是在文件头的加密标志位做修改,进而再打开文件时识被别为加密压缩包。 |
3)压缩源文件数据区
1 | 50 4B 03 04:这是头文件标记(0x04034b50) |
4)压缩源文件目录区:
1 | 50 4B 01 02:目录中文件文件头标记(0x02014b50) |
5)压缩源文件目录结束标志:
1 | 50 4B 05 06:目录结束标记 |
6)查找压缩文件目录区
1 | 一般面对一些小的文件时 很容易就找到 压缩文件目录区 的文件头 |