目录
- CTF简介:
- 一、CTF入门
-
- 1.1、CTF常识
- 1.2、CTF竞赛模式
- 二、CTF赛事发布网站
- 三、CTF在线靶场
- 四、漏洞靶场
- 五、CTF工具包
- 六、学习路线
CTF简介:
CTF(Capture The Flag)中文一般译作夺旗赛,在网络安全领域中指的是网络安全技术人员之间进行技术竞技的一种比赛形式。发展至今,已经成为全球范围网络安全圈流行的竞赛形式
-
CTF靶场:CTF刷题,在校生备战CTF比赛,信安入门、提升自己、丰富简历之必备(一场比赛打出好成绩,可以让你轻松进大厂,如近期的各种CTF杯),在职人员可以工作意外提升信安全技能。
-
渗透实战靶场:挖洞、渗透实战(web、域、横向渗透),适合实战能力需要大幅度提升的同学。

一、CTF入门
最近很多朋友在后台私信我,问应该怎么入门CTF。个人认为入门CTF之前大家应该先了解到底什么是CTF,而你学CTF的目的又到底是什么;其次便是最好具备相应的编程能力,若是完全不具备这些能力极有可能直接被劝退。毕竟比赛的时候动不动写个脚本,搞个审计的。
废话结束
对于CTF入门,现在环境比15、16年我刚接触时好太多了,当年各类资源少的可怜,SQL注入绕WAF已经算是难题了。而目前国内的氛围明显好太多了,涌现出了大量优秀的平台。作为初学者往往会遇到一个很关键的问题:该学哪个方向?
个人感觉,在不知道学啥的事情可以先学学Misc培养兴趣,然后在不断的做题中思考自己感兴趣的方向。其次日后发展也是个很关键的事情,如果准备毕业后从事网络安全,那么就需要想好Web、Pwn这些方向的日后发展。可以干哪些岗位,而这些岗位需要的对应能力、发展空间、薪资等等。
1.1、CTF常识
CTF比赛知识范围大致分为: Web安全、PWN(二进制安全)、Reverse(逆向破解)、Crypto(密码学安全)、Forensics(数字取证)、Misc(杂项)
- Web安全
CTF中的Web题型,就是给定一个Web网站,选手要根据题目所提示的信息,找到网站上的flag字符串。做题的方法类似于渗透测试,但通常不会是一个完整的渗透测试,而是用到渗透测试中的某一个或某几个环节。
可能涉及信息搜集、各类漏洞发现与利用、权限提升等等。 为了获取flag,可能需要拿到管理员权限,数据库权限,甚至获取网站所在服务器的权限。
所需知识: 语言:PHP、Python、JavaScript… 数据库:MySQL、MSSQL… 服务器:Apache、Nginx… Web框架:ThinkPHP、Flask… 语言特性:弱类型、截断… 函数特性:is_numeric、strcmp等;
- PWN
PWN在安全领域中指的是通过二进制/系统调用等方式获得目标主机的 shell。CTF 中主要考察二进制漏洞的发掘和利用,需要对计算机操作系统底层 有一定的了解。在 CTF 竞赛中,PWN 题目主要出现在 Linux 平台上。
所需知识: C/C++编程语言基础、编译原理、汇编、反汇编、操作系统、加密与解密、堆栈原理、栈溢出、堆溢出…
- Reverse
CTF之REVERSE题目涉及到软件逆向、破解技术等,要求有较强的反汇编、反编译扎实功底。需要掌握汇编,堆栈、寄存器方面的知识。有好的逻辑思维能力。主要考查参赛选手的逆向分析能力。
所需知识: 汇编、反汇编、堆栈、调试器、代码分析、OllyDBG、IDA等
- Crypto
CTF之CRYPTO部分题目考察各种加解密技术,包括古典加密技术、现代加密技术甚至出题者自创加密技术。
所需知识: 数学知识、密码编制、密码破解、古典密码、现代密码、密码分析;
- Forensics
CTF之FORENSICS包括文件格式分析,隐写术,内存转储分析或网络数据包捕获分析,提取静态数据文件中隐藏的信息的任何挑战都可以归为这一类
所需知识: 数据恢复、磁盘取证、内存取证、流量分析、文件隐写;
- Misc
就是除上述之外的乱七八糟的网络安全范围内的东西,英文全称为 Miscellaneous,意思是混杂的、各种各样的。MISC 题通 常包括文件分析、图像隐写、数据搜索、内存镜像分析和流量分析等。 题型多样,脑洞大,趣味性强是 MISC 题型的主要特点。
所需知识: 信息隐藏、文件格式、内存镜像、流量分析、数据分析、社会工程等;

1.2、CTF竞赛模式
- 解题模式(Jeopardy)
在解题模式CTF赛制中,参赛队伍可以通过互联网或者现场网络参与。这种模式的CTF竞赛与ACM编程竞赛、信息学奥赛类似,以解决网络安全技术挑战题目的分值和时间来排名,通常用于在线选拔赛,选手自由组队(人数不受限制)。
题目主要包含六个类别:RE逆向工程、Pwn漏洞挖掘与利用、Web渗透、Crypto密码学、Mobile移动安全和Misc安全杂项。
- 攻防模式(Attack-Defense)
在攻防模式CTF赛制中,参赛队伍在网络空间互相进行攻击和防守,通过挖掘网络服务漏洞并攻击对手服务来得分,通过修补自身服务洞进行防御来避免丢分。攻防模式通常为线下赛,参赛队伍人数有限制(通常为3到5人不等),可以实时通过得分反映出比赛情况,最终也以得分直接分出胜负。
这是一种竞争激烈、具有很强观赏性和高度透明性的网络安全赛制。在这种赛制中,不仅仅是比参赛队员的智力和技术,也比体力(因为比赛一般都会持续48小时及以上),同时也比团队之间的分工配合与合作。
- 混合模式(Mix)
结合了解题模式与攻防模式的CTF赛制,主办方会根据比赛的时间、进度等因素来释放需解答的题目,题目的难度越大,解答完成后获取的分数越高。参赛队伍通过解题获取一些初始分数,然后通过攻防对抗进行得分增减的零和游戏,最终以得分高低分出胜负。
采用混合模式CTF赛制的典型代表如iCTF国际CTF竞赛。
二、CTF赛事发布网站
i春秋: https://www.ichunqiu.com/competition
XCTF社区:https://time.xctf.org.cn
CTFwiki(入门必看wiki): https://ctf-wiki.github.io/ctf-wiki/#/introduction
CTFrank: https://ctfrank.org/
CTFtime(基本都是国外的): https://ctftime.org
三、CTF在线靶场
1、BugkuCTF(经典靶场,难度适中,适合入门刷题,题量大)
https://ctf.bugku.com/
2、北京联合大学BUUCTF(新靶场,难度中上,搜集了很多大赛原题)
https://buuoj.cn/
3、CTFSHOW:(新靶场,题量大,很多大赛会从中抽原题)
https://ctf.show/challenges
4、XCTF攻防世界:
https://adworld.xctf.org.cn/task
上面4个靶场是我常去的,BugkuCTF很久以前就刷了一遍,BUUCTF刷了有70%,CTFSHOW最近一直在刷,XCTF攻防世界以前有内网渗透实验,现在主要上去刷CTF。
5、实验吧:
http://www.shiyanbar.com(2017年刷过一遍,目前站一直更新)
**6、安恒周周练:**https://www.linkedbyx.com/home
7、XSS专练:https://xss.haozi.me/tools/xss-encode/
8、南京邮电大学CTF网络攻防训练平台: http://ctf.nuptzj.cn/
9、网络信息安全实验平台 http://hackinglab.cn/index.php
四、漏洞靶场
1. DVWA(必练):Web安全入门必刷的靶场,包含了最常见的web漏洞,界面简单易用,通过设置不同的难度,可更好地理解漏洞的原理及对应的代码防护
http://www.dvwa.co.uk
2. Sqli-Labs(必练):一个印度大神程序员写的,用来学习sql注入的一个游戏教程,目前65关,冲关过程中学注入。
https://github.com/Audi-1/sqli-labs
3. Upload-labs(必练):一个和sqli-labs类似的靶场平台,专门学习文件上传的,目前21关。
https://github.com/c0ny1/upload-labs
4. BWVS(老版本bugku的离线版):
https://github.com/bugku/BWVS
5. BWAPP:
https://sourceforge.net/projects/bwapp
6. WAVSEP:
https://github.com/sectooladdict/wavsep
7. VulnStack:
http://vulnstack.qiyuanxuetang.net/vuln
8. Webug 3.0:
https://pan.baidu.com/s/1eRIB3Se
9. Metasploitable:
https://github.com/rapid7/metasploitable3
10. DVWA-WooYun:
https://sourceforge.net/projects/dvwa-wooyun
11. OWASP Mutillidae:
https://sourceforge.net/projects/mutillidae
12. Web for Pentester:
https://www.pentesterlab.com/exercises/web_for_pentester

五、CTF工具包
CTF大赛, 俗话说“兵马未动,粮草先行”。打CTF手里的武器工具少不了,CTF比赛有些线下赛,不提供互联网环境,这就更需要开战前把工具包准备好了。
工具包目录:

六、学习路线
网络安全学习路线&学习资源
网络安全的知识多而杂,怎么科学合理安排?
下面给大家总结了一套适用于网安零基础的学习路线,应届生和转行人员都适用,学完保底6k!就算你底子差,如果能趁着网安良好的发展势头不断学习,日后跳槽大厂、拿到百万年薪也不是不可能!
初级网工
1、网络安全理论知识(2天)
①了解行业相关背景,前景,确定发展方向。
②学习网络安全相关法律法规。
③网络安全运营的概念。
④等保简介、等保规定、流程和规范。(非常重要)
2、渗透测试基础(一周)
①渗透测试的流程、分类、标准
②信息收集技术:主动/被动信息搜集、Nmap工具、Google Hacking
③漏洞扫描、漏洞利用、原理,利用方法、工具(MSF)、绕过IDS和反病毒侦察
④主机攻防演练:MS17-010、MS08-067、MS10-046、MS12-20等
3、操作系统基础(一周)
①Windows系统常见功能和命令
②Kali Linux系统常见功能和命令
③操作系统安全(系统入侵排查/系统加固基础)
4、计算机网络基础(一周)
①计算机网络基础、协议和架构
②网络通信原理、OSI模型、数据转发流程
③常见协议解析(HTTP、TCP/IP、ARP等)
④网络攻击技术与网络安全防御技术
⑤Web漏洞原理与防御:主动/被动攻击、DDOS攻击、CVE漏洞复现
5、数据库基础操作(2天)
①数据库基础
②SQL语言基础
③数据库安全加固
6、Web渗透(1周)
①HTML、CSS和JavaScript简介
②OWASP Top10
③Web漏洞扫描工具
④Web渗透工具:Nmap、BurpSuite、SQLMap、其他(菜刀、漏扫等)

恭喜你,如果学到这里,你基本可以从事一份网络安全相关的工作,比如渗透测试、Web 渗透、安全服务、安全分析等岗位;如果等保模块学的好,还可以从事等保工程师。薪资区间6k-15k
到此为止,大概1个月的时间。你已经成为了一名“脚本小子”。那么你还想往下探索吗?
7、脚本编程(初级/中级/高级)
在网络安全领域。是否具备编程能力是“脚本小子”和真正黑客的本质区别。在实际的渗透测试过程中,面对复杂多变的网络环境,当常用工具不能满足实际需求的时候,往往需要对现有工具进行扩展,或者编写符合我们要求的工具、自动化脚本,这个时候就需要具备一定的编程能力。在分秒必争的CTF竞赛中,想要高效地使用自制的脚本工具来实现各种目的,更是需要拥有编程能力.
零基础入门,建议选择脚本语言Python/PHP/Go/Java中的一种,对常用库进行编程学习; 搭建开发环境和选择IDE,PHP环境推荐Wamp和XAMPP, IDE强烈推荐Sublime; ·Python编程学习,学习内容包含:语法、正则、文件、 网络、多线程等常用库,推荐《Python核心编程》,不要看完; ·用Python编写漏洞的exp,然后写一个简单的网络爬虫; ·PHP基本语法学习并书写一个简单的博客系统; 熟悉MVC架构,并试着学习一个PHP框架或者Python框架 (可选); ·了解Bootstrap的布局或者CSS。
8、超级网工
这部分内容对零基础的同学来说还比较遥远,就不展开细说了,贴一个大概的路线。感兴趣的童鞋可以研究一下,不懂得地方可以【点这里】加我耗油,跟我学习交流一下。

网络安全工程师企业级学习路线
如图片过大被平台压缩导致看不清的话,可以【点这里】加我耗油发给你,大家也可以一起学习交流一下。

一些我自己买的、其他平台白嫖不到的视频教程:

需要的话可以扫描下方卡片加我耗油发给你(都是无偿分享的),大家也可以一起学习交流一下。
网络安全学习路线&学习资源
结语
网络安全产业就像一个江湖,各色人等聚集。相对于欧美国家基础扎实(懂加密、会防护、能挖洞、擅工程)的众多名门正派,我国的人才更多的属于旁门左道(很多白帽子可能会不服气),因此在未来的人才培养和建设上,需要调整结构,鼓励更多的人去做“正向”的、结合“业务”与“数据”、“自动化”的“体系、建设”,才能解人才之渴,真正的为社会全面互联网化提供安全保障。
特别声明:
此教程为纯技术分享!本书的目的决不是为那些怀有不良动机的人提供及技术支持!也不承担因为技术被滥用所产生的连带责任!本书的目的在于最大限度地唤醒大家对网络安全的重视,并采取相应的安全措施,从而减少由网络安全而带来的经济损失!!!

1789

被折叠的 条评论
为什么被折叠?



