网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化资料的朋友,可以点击这里获取
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
获取CTF赛事信息
国外:ctftime.org 是对一个在国际上比较重要的赛事的做一些记录,而且会还会给出赛事的一些权重,以及对这种CTF 知名战队的一些排名
国内:XCTF社区,主要是国内的赛事或者相关公告,可以发现很多CTF赛事。网址:https://adworld.xctf.org.cn/contest/list
如何参加CTF赛事
- 找比赛信息,掌握各种CTF比赛时间。
- 提交报名信息
- 等待通知邮件
- 确认是否参赛
CTF解题模式(Jeopardy)是CTF比赛的一种模式,参赛队伍可以通过互联网或者现场网络参与。在这种模式中,参赛队伍需要解决网络安全技术挑战题目,并以分值和时间排名。题目类型主要包括逆向、漏洞挖掘与利用、Web渗透、密码、取证、隐写、安全编程等。参赛队伍需要在规定时间内尽可能多地解决题目,获取更高的分数。这种模式类似于ACM编程竞赛和信息学奥赛,主要考察参赛者的技术实力和解题能力。
比赛规则
- 参赛队伍需要通过解决一系列的题目来获得分值,并以分值和完成时间来排名。题目通常由组织者设计,涉及各种网络安全技术和攻防策略。
- 参赛队伍需要通过分析、解密、漏洞利用、逆向工程等手段来解决这些题目,并找到隐藏的“旗帜”(flags)。这些“旗帜”通常是一段特定的字符串,可以是一个加密密钥、一个隐藏的文件、一个系统漏洞的利用等。
- 参赛队伍需要通过解决各种类型的题目来获取这些旗帜,并提交给组织者验证。每个旗帜的分值根据题目的难度而定,通常越难的题目分值越高。
eg:
- 参赛队伍:每个参赛队伍通常由3-5名成员组成。队员之间可以协作解决问题,并共享所获得的情报和解题思路。
- 比赛时间:CTF比赛通常持续数小时至数天不等,具体时间由主办方确定。
- 裁判团队:每场CTF比赛都会有一个裁判团队负责维护比赛秩序、处理纠纷和评分等工作。
- 题目类型:CTF比赛包含多种类型的题目,如密码学、逆向工程、网络安全、Web安全等。每个题目都有一个旗帜,参赛者需要通过解决问题找到旗帜并提交给裁判团队。
- 解题模式:通常为在线比赛,目前大多数CTF比赛的主流形式,选手自由组队参赛(在线比赛人数一般不做限制)。题目通常在比赛过程里陆续放出。接触一道题目后,提交题目对应的flag即可得分,比赛结束后分高者胜。
- 禁止行为:禁止任何形式的作弊和违规行为,包括但不限于使用未经允许的工具、利用漏洞、攻击其他队伍等。如果发现违规行为,将取消相关队伍的参赛资格。
- 裁决:对于比赛过程中出现的争议和纠纷,由裁判团队进行裁决。裁判团队的裁决是最终的,参赛队伍需要接受并遵守。
- 其他事项:具体的比赛规则和要求可能会根据比赛的不同而有所不同,参赛队伍需要提前了解并遵守相关规定。
解题模式的CTF竞赛要求
参赛队伍具备广泛的网络安全知识和技能。参赛队员需要熟悉逆向工程技术,能够分析和破解程序代码;需要了解漏洞挖掘与利用的方法,能够发现系统中的安全漏洞并利用它们;需要掌握Web渗透测试技术,能够发现和利用Web应用程序的漏洞;需要了解密码学的基本原理和算法,能够解密和加密数据;需要了解取证和隐写术的基本概念和方法,能够发现隐藏的信息;需要具备安全编程的能力,能够编写安全的代码等等。
题目类型
- Web安全
- SQL注入
- XSS
- 文件包含
- 命令执行
- 文件上传
- …
- 逆向工程
- 反编译
- 反汇编
- …
- 漏洞挖掘与漏洞利用
- 二进制程序分析
- 漏洞挖掘技术
- 漏洞利用技术
- …
- 密码学
- 密码算法
- 密码协议
- 加密解密技术
- …
- 调查取证
- 数据隐藏技术
- 数据恢复技术
- 取证技术
- …
- 移动安全
- Android
- iOS
如何练习
攻防世界: https://adworld.xctf.org.cn
Bugku:http://ctf.bugku.com
Jarvis OJ: https://www,jarvisoj.com
CTFlearn:https://ctflearn.com/challenge/1/browse
BUUCTF:https://buuoj.cn
CG CTF: https://cgctf.nuptsast.com
CTF攻防模式(Attack-Defense)是CTF比赛的一种模式,参赛队伍在网络空间互相进行攻击和防守,挖掘网络服务漏洞并攻击对手服务来得分,修补自身服务漏洞进行防御来避免丢分。在这种模式中,参赛队伍需要同时扮演攻击者和防守者的角色,攻防模式CTF赛制可以实时通过得分反映出比赛情况,最终也以得分直接分出胜负。攻防模式是一种竞争激烈,具有很强观赏性和高度透明性的网络安全赛制。参赛队伍需要具备良好的团队分工配合与合作能力。
比赛形式
- 比赛开始前会给每支队伍分配SSH 账号,比赛开始用该账号登录服务器进行维护(多为 Linux 服务)。
- 在服务器的某处有一个 flag 文件,一般在根目录下,默认没有权限修改
- 主办方每隔一定,进行一轮刷新。一轮内一支队伍的 flag 只能被提交一次,flag 一旦被拿走将扣除该队的分数。
- 主办方会对不定期对服务进行检查,一般的判断标准就是服务是否还存在。
注意事项
- 在竞赛进行期间,参赛人员不得携带手机等通讯工具以及上网设备进入竞赛场地内。
- 在竞赛进行期间,选手只能跟自己团队的成员进行交流,队伍与队伍之间不允许进行任何形式的交流。
- 在竞赛进行期间,如果有任何问题请举手示意工作人员,不准随意走动或大声喧哗;
- 禁止选手对竞赛平台进行任意行为的恶意测试,一经发现,立即取消竞赛资格。
- 禁止选手使用DDoS工具对现场的网络环境进行蓄意破坏,一经发现,立即取消竞赛资格。
人员分工
经典6人队伍
- 队长:队长是整个团队的领导者,负责组织协调、分工合作、决策制定等工作。队长需要具备全局观念和战略眼光,能够合理分配资源、协调各方行动,确保整个团队高效运转。
- 攻击手:攻击手负责对外发动攻击,获取其他队伍的信息和旗帜。攻击手需要具备扎实的网络安全知识和丰富的攻防经验,能够快速准确地发现目标漏洞并利用它们进行攻击。
- 防守手:防守手负责保护本队的信息和旗帜,防止其他队伍的攻击。防守手需要具备全面的安全知识和较强的应对能力,能够及时发现并修补漏洞、配置安全策略、监控网络流量等。
- 密码学专家:密码学专家负责解决与密码学相关的题目,例如加密解密、密码破解等。密码学专家需要具备深厚的密码学知识和经验,能够快速准确地解决密码学题目,为团队获取更多分值。
- 逆向工程专家:逆向工程专家负责解决与逆向工程相关的题目,例如反编译、反汇编、调试等。逆向工程专家需要具备扎实的逆向工程知识和经验,能够快速准确地解决逆向工程题目,为团队获取更多分值。
- 信息搜集与分析专家:信息搜集与分析专家负责搜集和分析比赛相关的信息和情报,例如目标队伍的情况、比赛进展等。信息搜集与分析专家需要具备较强的信息搜集和分析能力,能够为团队提供有价值的情报和支持。
常见3人队伍
- 队长:队长是整个团队的领导者,负责组织协调、分工合作、决策制定等工作。队长需要具备全局观念和战略眼光,能够合理分配资源、协调各方行动,确保整个团队高效运转。
- 攻防手:攻防手负责对外发动攻击并保护本队的信息和旗帜。攻防手需要具备扎实的网络安全知识和丰富的攻防经验,能够快速准确地发现目标漏洞并利用它们进行攻击,同时能够及时发现并修补漏洞、配置安全策略、监控网络流量等。
- 密码学与逆向工程专家:密码学与逆向工程专家负责解决与密码学和逆向工程相关的题目,例如加密解密、密码破解、反编译、反汇编、调试等。密码学与逆向工程专家需要具备深厚的密码学和逆向工程知识和经验,能够快速准确地解决相关题目,为团队获取更多分值。
如何练习攻防模式
线上: hack the box
在结束之际,我想重申的是,学习并非如攀登险峻高峰,而是如滴水穿石般的持久累积。尤其当我们步入工作岗位之后,持之以恒的学习变得愈发不易,如同在茫茫大海中独自划舟,稍有松懈便可能被巨浪吞噬。然而,对于我们程序员而言,学习是生存之本,是我们在激烈市场竞争中立于不败之地的关键。一旦停止学习,我们便如同逆水行舟,不进则退,终将被时代的洪流所淘汰。因此,不断汲取新知识,不仅是对自己的提升,更是对自己的一份珍贵投资。让我们不断磨砺自己,与时代共同进步,书写属于我们的辉煌篇章。
需要完整版PDF学习资源私我
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化资料的朋友,可以点击这里获取