题主是一个CTF新手,通过搜集各方面资料谈一下对CTF各方向的理解。
CTF夺旗赛是网络安全领域的比赛,主要有一下几个方向:
Misc
misc杂项正如其名,题目涉及的知识比较广泛,题型如流量包分析(上传文件流量,sql流量,关键字搜索),文件隐写(图片隐写,音频隐写),伪加密,社工等。
Misc也可以与其他方向结合,如CRYPTO,而有一些misc题可能更是显得不那么“传统”,需要更多的知识。
Web
题主在刚刚结束的SHCTF中web做的比较多,在这方面重点说一下
Web的题目大致有以下类型:反序列化,RCE绕过,命令执行,文件上传,SQL注入,XSS攻击,CSRF等。
对于Web安全方向的学习,需要
1.掌握各种协议,如http,还有各种伪协议。
2.掌握常见的编程语言,如php,python,java,以完成对代码的审计和脚本的编写。
3.掌握暴力破解
4.学习各种漏洞与攻击方式
5.掌握各种工具的使用,如sqlmap,burp
6.掌握linux命令等
Pwn
Pwn是指攻击漏洞并控制目标计算机的行为,pwn的入门比较困难,需要掌握汇编语言,C语言,python语言基础,linux命令,了解各种漏洞。
基本漏洞类型:栈溢出,缓冲区溢出,格式化字符串溢出等
Reverse
逆向工程主要是对软件或其他数字资产的逆向拆解与分析,因此它需要较强的程序理解与分析能力,需要掌握各种语言,加解密,操作系统,算法与数据结构等知识,它涉及到 Windows、Linux、Android多种平台,对选手的知识面也是一种考验。
除了知识储备,工具的使用也是逆向工程重要的一环,反汇编器,反编译器,调试器等。
Crypto
crypto密码学也是常见的方向,常见题目类型如下
1.古典密码:凯撒密码,栅栏密码等
2.对称加密:如AES
3.非对称加密:现代密码常见的类型,如RSA
4.HASH:如MD5,SHA1
5.数论:此类题目涉及数论的知识加解密,如欧拉函数,欧几里得扩展算法
crypto需要一定的数学知识,它的题目也可以与其他方向相结合。
至于区块链等方向,题主了解比较少,这里就不谈了
希望我能在日后的学习中日益精进。