CTF学习笔记

CTF比赛类型

1.解题模式

1.1解题模式题目类型(从易到难)

a. Misc杂项

利用隐写术等保护技术将信息隐藏在图像、音频、视频、压缩包中,或者信息就在一段内存镜像或网络流量中,尝试将隐藏的信息恢复出来即可获得flag。

b. Cryptology密码学

分析题目中的密码算法与协议,利用算法或协议的弱点来计算密钥或对密文进行解密,从而获取flag。

c. Web安全

通过浏览器访问题目服务器上的网站,寻找网站漏洞,利用网站漏洞获得服务器的部分或全部权限,拿到flag,通常包含分值最大的Web渗透题。

d. Reverse逆向工程*

题目就是一个软件,但是通常没有软件的源代码,需要利用工具对软件进行反编译甚至反汇编,从而理解软件内部逻辑和原理,找出于flag计算相关的算法并破解这个算法,获取flag。

e. PWN二进制*

访问一个本地或远程的二进制服务程序,通过逆向工程找出程序中存在的漏洞,并利用程序中的漏洞获取远程服务器的部分或全部权限,拿到flag。

2.攻防模式

略……

CTF学习攻略

需掌握的技能

基础知识

  1. Linux基础
  2. 网络协议分析
  3. 计算机组成原理*
  4. 操作系统原理*

专项知识

1. 方向A*

知识:PWN+逆向+密码学

技能:IDA工具(f5插件),逆向工程,密码学,缓冲区溢出……

2. 方向B

知识:Web+Misc杂项

技能:网络安全,内网渗透,数据库安全,信息收集能力

Misc杂项

文件操作与隐写

1. 文件类型识别

1.1 file命令

使用场景:
当文件没有后缀名或者有后缀名但是无法正常打开时,可以用file命令查看,进而补上后缀名打开文件。

1.2 hex软件(本人倾向于在Linux下使用GHex)

使用场景:
用于以16进制查看、编辑文件,可以为文件头被损坏了的文件进行修复,有时候也可以直接看到flag。

常见文件类型头信息

JPEG (jpg),文件头:FFD8FF 

PNG (png),文件头:89504E47 

GIF (gif),文件头:47494638 

TIFF (tif),文件头:49492A00 

Windows Bitmap (bmp),文件头:424D 

CAD (dwg),文件头:41433130 

Adobe Photoshop (psd),文件头:38425053 

Rich Text Format (rtf),文件头:7B5C727466 

XML (xml),文件头:3C3F786D6C 

HTML (html),文件头:68746D6C3E 

Email [thorough only] (eml),文件头:44656C69766572792D646174653A 

Outlook Express (dbx),文件头:CFAD12FEC5FD746F 

Outlook (pst),文件头:2142444E 

MS Word/Excel (xls.or.doc),文件头:D0CF11E0 

MS Access (mdb),文件头:5374616E64617264204A 

WordPerfect (wpd),文件头:FF575043 

Postscript (eps.or.ps),文件头:252150532D41646F6265 

Adobe Acrobat (pdf),文件头:255044462D312E 

Quicken (qdf),文件头:AC9EBD8F 

Windows Password (pwl),文件头:E3828596 

ZIP Archive (zip),文件头:504B0304 

RAR Archive (rar),文件头:52617221 

Wave (wav),文件头:57415645 

AVI (avi),文件头:41564920 

Real Audio (ram),文件头:2E7261FD 

Real Media (rm),文件头:2E524D46

MPEG (mpg),文件头:000001BA 

MPEG (mpg),文件头:000001B3 

Quicktime (mov),文件头:6D6F6F76 

Windows Media (asf),文件头:3026B2758E66CF11 

MIDI (mid),文件头:4D546864

2. 文件分离

2.1 binwalk

使用场景:
一些文件由多个文件组合而成,可以用这个工具进行分析和分离。

使用方法:

binwalk //分析文件

binwalk -e //分离文件

2.2 foremost

使用方法:

foremost+(要分离的文件名)+ -o + 输出的文件夹名

2.3 dd

使用场景:
当上面两个无法自动分离的,也就是多个文件非顺序多片存储时,就用这个半自动分离。

使用方法:
dd+if=(输入文件名)+of=(输出文件名)+bs=()

图片隐写术

压缩文件处理

流量取证技术

posted @ 2020-09-21 15:26  郑力元  阅读(473)  评论(0编辑  收藏  举报