CTF(Capture The Flag)中文一般译作夺旗赛,在网络安全领域中指的是网络安全技术人员之间进行技术竞技的一种比赛形式。

其大致流程是,参赛团队之间通过进行攻防对抗、程序分析等形式,率先从主办方给出的比赛环境中得到一串具有一定格式的字符串或其他内容,并将其提交给主办方,从而夺得分数。为了方便称呼,我们把这样的内容称为“Flag”。

以我国的CTF赛事来总结,题目通常分为:WEB、逆向、PWN、移动安全、密码学和杂项。

一 CTF题目类型

web

pwn

Reverse

Mobile

密码学

杂项

那么哪种题目叫杂项呢?

只要不属于上述类别的题目统称为杂项

解题思路

这些题目通常都会给一个文件

这些文件可以是压缩包,MP3,paf,

图片文件受损,需要修复(常见的是缺少文件头)

给的文件无后缀该怎么判断文件类型

binwalk、file等

寻找合适的工具

常用的工具

二 密码学

2.1 摩尔斯电码

-. … ..-. — -.-. ..- …

摩尔斯电码在线翻译:http://www.zhongguosou.com/zonghe/moErSiCodeConverter.aspx

例题:我们截获了敌军命令密文,你能破解出来吗?45464545 454545 464645 46454646 454545 464646 46

转换成莫尔斯密码:youlose

2.2 常见码制

2.2.1 brainfuck

2.2.2 JOTHER

2.2.3 JSFUCK

使用6个字符[、]、(、)、!、+来编写JavaScript程序

2.2.4 猪圈密码

一种以格子为基础的简单替代密码

2.2.5 如何区分Html编码与Unicode编码?

Unicode都以&#10结尾

2.2.6 码制转换工具

2.2.7 凯撒密码

更多适用于秘钥空间大,密文样本多的情况

凯撒解密

2.2.8 栅栏密码

2.2.9 键盘布局加密

4esxcft5 rdcvgt 6tfc78uhg 098ukmnb

2.2.10 MD5

2.2.11 现代密码学——DES

2.2.12 现代密码学——RSA

1.获取公匙(n,e)

2.计算m^e=c mod(n)

3.密文c为m的e次幂除以n所得的余数

解密:

1.解密过程即是求m,

2.需要用私匙(n,d),

3.解c^d=m mod(n),得出明文m

三 隐写

隐写是将Flag隐藏到图片、音频、视频等各类数据载体中

知识准备:binwalk、file、strings命令、常见文件头、stegsolve工具使用、LSB算法等。

图片类隐写共分为7类

音频类分为2类

3.1 文件拼接

通常是copy命令将文件拼接而成

copy /b 2.jpg+1.zip output.jpg

工具:binwalk、dd、winhex

常见图片文件结构

JPEG/JPG

——文件头标识(2 bytes):FF D8

——文件结束标识(2 bytes):FF D9

PNG

——文件头标识(8 bytes):89 50 4E 47 0D 0A 1A 0A

GIF

——文件头标识(6 bytes):47 49 46 38 39(37) 61

BMP

——文件头标识(2 bytes):42 4D

3.2 图片拼接

flag隐藏在图片文件内容的末尾

利用16进制查看工具或图片格式查看工具

3.3 图片分层——Stegsolve

图片分层查看—针对PS分层中存在的隐藏信息

3.4 图片后缀名迷惑

将图片后缀名改为压缩包文件格式后解压取得flag

3.5 图片处理

Stegdetect

stegsolve

3.6 动态图帧

3.7 图片修复

3.8 音频分析

wav格式的音频文件

改变音频轨道和效果,分析音频频谱,观察音频波形,找出波形规律

最后为01字串转换ascii码即可

wav格式的音频文件

改变音频轨道和效果,分析音频频谱,观察音频波形,找出波形规律

最后为01字串转换ascii码即可

例题: 杂项(互相伤害)

首先拿到文件发现是zip,解压后文件无后缀,然后binwalk、file看一下

发现是流量包,将文件重命名改为 yi.pcapng,使用wireshark打开,大概浏览一下,大多为TCP包和http包,导出http对象。

保存后,发现全部为图片,随便用一个图片binwalk一下,发现是个图种

binwalk -e 全部解压之后发现,有一个没有解压,需要密码,然后在另外一张图中找到一个二维码

扫描结果为:U2FsdGVkX1+VpmdLwwhbyNU80MDlK+8t61sewce2qCVztitDMKpQ4fUl5nsAZOI7bE9uL8lW/KLfbs33aC1XXw==

解密之后为:668b13e0b0fc0944daf4c223b9831e49

输入字符串解压,得到一个图片

四 数据包分析

PACP file:

Log file:

源链接

Hacking more

...