web基础
为课程文件夹,里面的为相应课程指导文档,- 指导文档中有相关知识点的介绍、相关资料的链接接还有巩固学习的作业
- 后期会根据学习需要创建新的文件夹和新的指导文档
笔记
为作业文件夹,作业提交要求见指导文档中对作业的描述- 请注意对自己隐私的保护,不要在任何地方出现[你/他]的名字或者相关能
identity
到[你/他]的信息;
- 请注意对自己隐私的保护,不要在任何地方出现[你/他]的名字或者相关能
src
为图片或相关引用文档目录
- 小组问题可以新建
issue
讨论,有啥有疑问有意思的技术点、技术点对应的ctf题目等都可以讨论- 请注意对自己隐私的保护,不要在任何地方出现你的名字或者相关能
identity
到你的信息;
- 请注意对自己隐私的保护,不要在任何地方出现你的名字或者相关能
- 请关注每次作业的
deadline
,毕竟老师们不能随时有提交,随时有时间检查
(1)严禁利用在课程中学到的知识从事非法活动,如:在未经授权的情况下,非法入侵他人计算机、破解并传播软件等。 (2)禁止发布任何*扰性的、中伤他人的、辱骂性的、恐吓性的、庸俗淫秽的或其他任何非法的信息。
大家好,在接下来的一个多月的时间里,我会跟大家一起学习CTF Web方面的知识。很高兴与大家一起同行。
在这个过程中,这边不会啥都讲,你要学的也绝对不只是这里面要讲的东西。 因为真正的黑客从来都是独行侠,是发现问题解决问题的王者,开垦的是没人触及的知识的荒野,当然其中的快乐与满足也是常人无法体会的。 这里发的一些”教程“只是能加速你到达那个地方途中稍微平整点的一小段。
一切都得靠自己多学多练
贵在坚持
我的思路是先打基础,然后了解下漏洞,最后再专题练习一些常见漏洞。
-
对于基础,首先得对Web方面有个基本的概念,了解基本的数据库、编程语言、Web服务器和Web应用程序;
- 数据库主要是mysql,得熟悉SQL语句;
- 编程语言:python、php、html、JavaScript
- Web服务器:apache
- Web应用程序:wordpress
-
对于漏洞的话,主要是通过
DVWA
,一个在本地搭建的有各种web漏洞的程序,可以让我们动手测试观察漏洞的现象,进行不同等级的挑战,还可以查看源码,修复漏洞,得到攻与防的锻炼; -
最后的专题突破,主要是在了解基础知识后,对一些常见的特定类型的题目,挑一些难度高点的进行练手,大家一起交流,训练。
当然,每一个过程中,都会有一些ctf的题目或者作业,需要按时按质安量去完成。
在平时的学习过程中,希望大家养成做笔记的习惯,不管是使用电子还是纸质的,希望都有一个随时都能够得着的小本本,记录下你的灵感,记录下你所学到的东西,
- 第一方便自己的记忆,
- 第二方便后期整理学习,同时提高自豪感,让学的东西能够量化。
这里我建议大家学下markdown,一个非常简单的标记语言能够非常优雅的记录下你的所思所想,关于Markdown的工具有很多,我使用的是
马克飞象
,各种平台都有相应版本的客户端,包括在线的版本,Chrome浏览器也有相关的插件,还可以连接到印象笔记上,使用感觉还可以。
大家做笔记时,个人感觉就是在学东西先看完再做笔记,因为如果边看边做笔记,一是影响思考,二是效率会很低,等看完了,每天晚上专门留点时间来整理今天所学的东西,用笔记记录下来,思路和速度都会快很多,质量也高点。
至于作业该怎么交,平时怎么交流,我想到了github。平时微信或者QQ可以记录也可以传文件,但是他们本质上是一种即时聊天工具,容易打断思路,所以想要一个正式一点的,就是有一定思考之后的沉淀结果。而github完全可以胜任。
所以我在github上开了一个版本库,我会在上面发布学习总结和作业,以及一些有意思的玩意。大家可以fork
下,作业和心得放在相应的目录下,以提交pull request
方式提交上来,到时候会有说明。
神马?github是什么鬼?怎么操作?…… 要了解Github首先得知道Git,简单的说,Git是一个牛人写的巨牛的玩意,是目前世界上最先进的分布式版本控制系统。Github是一个网站,主要作为免费的远程仓库,可以通过它参与各种高大上的开源项目,学习各种高达上的技术。这里有个史上最浅显易懂的Git教程可以帮助你。
同时大家如果有啥问题,可以在版本库下Issues
上进行讨论。
今天我们聊了下学习的意识,学习的思路,以及学习的方法。
真正的高手自我驱动的学习能力都很强,认准了并且能够坚持;
学习思路就是先打基础,然后学习各种漏洞原理,在进行专题练习,期间会有一些挑战性的作业,有CTF比赛也别忘了打;
在学习的过程中,需要学会使用markdown
做笔记,提交作业首先要学会git
,github
可是一个学习的宝库。
1. 学习git
2. 学习markdown
注册github账号,然后fork
仓库https://github.com/blackhater1/ctf_web
,在笔记
目录下的SignIn.md
文件内添加自己的签到信息。如下所示:(注意,不需要添加自己的真实姓名,以你的github账号名称就行,要注意保护自己的隐私信息。)
id | name | say something |
---|---|---|
x | 张三 | 一级棒 |
为了培养大家做笔记的习惯,要求提交自己的学习笔记。
- 提交方式
在版本库
笔记
文件夹下,以小组为单位建立文件夹,文件夹的名字为小组的名字,相应组内的同学在文件夹内建立一个文件作为笔记,命名方式为Your_githubname.md
。 版本库的src
文件内存放相关资料。 - 写笔记有很多好处:
- 可以共享自己优秀的学习路径
- 通过自己每次的提交,可以清楚的看到自己成长的轨迹
- 作为一种自我督促
好的笔记看着很舒服,但写起来就没那么容易了,但就因为如此,才有价值。 凡事贵在坚持