入门ctf具体计划(web)

  • 对于该篇博客:
    我会先明确大家需要干的任务,最后再在最后明确我对大家学习安排的建议。

搭建博客

  • 建议大家尽快完成,博客是良好的记录学习工具以及交流工具,自己的笔记心得都可以写在上面,推荐教程:
    hexo搭建博客教程

  • 当然,该步奏并非必要选项,大家可以寻找对自己来说更方便的方式来记录自己笔记。

入门前端

  • 推荐视频资源:3小时入门前端
  • 学习方式:不可以干看,一定要使用相关编译器去实操,重点关注htmljavascript两门语言,我们是要会认这些语言,而不是要做前端设计,专业使用这些语言去开发网站。
  • 建议先学习后端语言,前端语言可以边做题边学习,因为:
    • 前端html语言我们需要掌握的点较简单
    • javascript语言语法和后端语言有相仿之处,把应用范围更广的后端语言搞懂有助于更好学习前端语言。

入门php与python(重点)

php

  • 推荐网站:菜鸟教程

  • 学习环境:推荐小皮加phpstorm结合进行学习,推荐环境配置教程:phpstorm配置使用

  • 学习内容:
    一直到菜鸟教程中的php高级教程之前,算是简单了解php的基本语法规则。之后的做题中,我们会继续积累php的机制特性,有针对性地深入学习。

python

  • 推荐网站依旧是菜鸟教程,学习完python基础教程部分即可
    推荐书目:
    • 书名:《Python编程:从入门到实践》第三版
    • 原作名:Python Crash Course
    • 作者:[美] 埃里克·马瑟斯
  • 学习到类为止即可,类更多是中大型软件项目会需要使用,入门阶段不涉及开发,不需要对类有相当深入的学习。
  • 后续具体库的学习,可以在文件上传等题目遇见时进行学习。

知识学习建议

  • 编程语言的学习掌握重点是在应用,而不是死记硬背,所以我在下面会强调要和题目齐头并进地学习!
  • 另外鼓励大家有”自动化做题”思维,即尝试编写可以一键出flag的脚本。这里我用一道简单的web题目演示(ctfshow web363)。

基础题练习

  • 自行租借或者购买ctfshow账号,从”web入门”题目开始,每天不追求量,除了信息收集部分可以过快点,都追求把题目的每个点,为什么这样做给搞懂,背后什么原理。
  • 每日可以不按照顺序做题,可按照题目类型进行练习,比如,做一道爆破题,之后就是命令执行一道。
  • 在做题过程中就可以积累相关工具用法知识,不同语言函数的特性用法,以及计算机网络相关知识。

最后总结

  • 以下为总结的学习路径:

  • 以上提醒都是针对完全未入门ctf的同学,不是什么进阶教程,入门阶段过了之后,要进行进一步学习的同学,需要重新安排学习路线,比如像java这样的语言需要你系统学习,在入门阶段则不需要。

  • 编程语言的学习可以和ctfshow做题齐头并进,并不冲突,在这个齐头并进的过程中完成了以上所说编程语言部分的学习任务后,就可以一门心思好好做题了。

  • 如果你选择了学习ctf,强烈建议大家就只专精这一个方向,不要参加多余的比如挑战杯一类的其他竞赛,千万别分散你的精力。

  • 若大家有问题,欢迎在群内讨论!大家一起加油吧!