CTF杂项提纲
CTF的杂项是涉及编码,图片隐写,音频隐写,压缩包分析的方向,本文对MISC的知识点做了一个简单列举
常见编码
ASCII
0-9,48-57
A-Z 65-90
a-z 97-122
URL
url编码又叫百分号编码,是统一资源定位的编码方式
base16/base32/base58/base62/base64/base91/base92/base100
XXencode
UUencode
aaencode
JSfuck
jother
Brainfuck
敲击码
社会主义核心价值观编码
与佛论禅编码
与熊论道
新约佛论禅
怪音加密
图片隐写
工具
exiftool
ExifTool是Phil Harvey以Perl写成的自由开源软件,可读写及处理图像、视频及音频的metadata,例如Exif、IPTC、XMP、JFIF、GeoTIFF、ICC Profile。它是跨平台的,可作为命令列或Perl函式库使用。
文件格式
JPEG
文件头:FF D8 FF
文件尾:FF D9
PNG
文件头:89 50 4E 47
文件尾:AE 42 60 82
PNG宽度修改
先修改文件头,修复图片,之后宽度是0,显然要修改宽度和高度
直接修改PNG的宽度会导致图片不可见,需要通过crc码来逆推宽度和高度
import struct
import binascii
import os
m=open("crc2.png","rb).read()
for i in range(1024):
c=m[12:16]+struct.pack('>i',i)+m[20:29]
crc=binascii.crc32(c) & 0xffffffff
if crc == 0x932f8a6b
print(i)
盲水印
数字水印是一种应用计算机嵌入算法嵌入载体文件的保护信息。数字信息技术,是一种基于内容的,非密码机制的计算机信息隐藏技术,它是将一些标识信息直接嵌入数字载体中或是间接表示且不影响原载体的使用价值,也不容易被探知和再次修改但可以被生产方识别和辨识。通过这些隐藏在载体中的信息,可以达到确认内容创建者,购买者,传送隐秘信息或判断载体是否被篡改等目的。
工具:
BlindWaterMark
需要提前安装opencv和matplotlib
频域技术
空域技术是直接在信号空间中嵌入水印信息
LSB就可以算是一种在空域中添加水印的方式
要把时域和空域中表示的信息转换成频域,就要用到的傅里叶变换,将信号函数进行傅里叶变换,可以分离出其中各频率的正弦波。
压缩包分析
50 4B 03 04 头文件标记
14 00 压缩文件所需pkware版本
00 00 全局方式标记
08 00 压缩方式
20 9E 最后修改文件的时间
66 4F 最后修改文件的日期
F2 1B 0F 4A CRC-32校验
0E 00 00 00 压缩后的尺寸
0C 00 00 00 未压缩的尺寸
08 00 文件名长度
00 00 扩展记录长度
66 6C 61 67 2E 74 78 74 文件名
ZIP伪加密
就是在对应的加密标志位做修改,进而再打开文件时被识别为加密压缩包