一直对CTF比赛有参与的兴趣,但因为课程比较多,一直没有足够的时间系统的去了解与训练。因此我想利用接下来的几周时间对CTF比赛经行练习。并找到本身所擅长或感兴趣的方向深刻研究下去,在本身暑假或研二时光能够参加比赛,以赛代练。html
由于 CTF 的考题范围其实比较宽广,目前也没有太明确的规定界限说会考哪些内容。可是就目前的比赛题型而言的话,主要仍是依据常见的前端
- Web 网络攻防、
- RE 逆向工程、
- Pwn 二进制漏洞利用、
- Crypto 密码攻击、
- Mobile 移动安全
- Misc 安全杂项
主要介绍了 Web 安全中常见的漏洞,如 SQL 注入、XSS、CSRF、文件包含、文件上传、代码审计、PHP 弱类型等,Web 安全中常见的题型及解题思路,提供了一些经常使用的工具。linux
主要介绍了逆向工程中的常见题型、工具平台、解题思路,进阶部分介绍了逆向工程中常见的软件保护、反编译、反调试、加壳脱壳技术。git
Pwn 题目主要考察二进制漏洞的发掘和利用,须要对计算机操做系统底层有必定的了解。在 CTF 竞赛中,PWN 题目主要出如今 Linux 平台上。github
主要包括古典密码学和现代密码学两部份内容,古典密码学趣味性强,种类繁多,现代密码学安全性高,对算法理解的要求较高。web
主要介绍了安卓逆向中的经常使用工具和主要题型,安卓逆向经常须要必定的安卓开发知识,iOS 逆向题目在 CTF 竞赛中较少出现,所以不做过多介绍。算法
以诸葛建伟翻译的《线上幽灵:世界头号黑客米特尼克自传》和一些典型 MISC 题为切入点,内容主要包括信息搜集、编码分析、取证分析、隐写分析等。shell
2016 年全国大学生信息安全竞赛开始设立创新实践技能赛,采起的就是传统的 CTF 赛制。在《2016 年全国大学生信息安全竞赛参赛指南》中主办方给出的竞赛内容相对全面,值得参考。数据库
- 系统安全。
涉及操做系统和 Web 系统安全,包括 Web 网站多种语言源代码审计分析(特别是 PHP)、数据库管理和 SQL 操做、Web 漏洞挖掘和利用(如 SQL 注入和 XSS)、服务器提权、编写代码补丁并修复网站漏洞等安全技能。编程
- 软件逆向。
涉及 Windows/Linux/Android 平台的多种编程技术,要求利用经常使用工具对源代码及二进制文件进行逆向分析,掌握 Android 移动应用 APK 文件的逆向分析,掌握加解密、内核编程、算法、反调试和代码混淆技术。
- 漏洞挖掘和利用。
掌握 C/C++/Python/PHP/Java/Ruby/汇编 等语言,挖掘 Windows/Linux(x86/x86_64 平台)二进制程序漏洞,掌握缓冲区溢出和格式化字符串攻击,编写并利用 shellcode。
- 密码学原理及应用。
掌握古典密码学和现代密码学,分析密码算法和协议,计算密钥和进行加解密操做。
- 其余内容。
包括信息搜集能力,编程能力、移动安全、云计算安全、可信计算、自主可控、隐写术和信息隐藏、计算机取证(Forensics)技术和文件恢复技能,计算机网络基础以及对网络流量的分析能力。
A方向:PWN+Reverse+Crypto随机搭配
B方向:Web+Misc组合
Misc全部人均可以作
A方向:IDA工具使用(fs插件)、逆向工程、密码学、缓冲区溢出等
B方向:Web安全、网络安全、内网渗透、数据库安全等 前10的安全漏洞