Web安全学习:如何自我定位与制定学习计划

摘要

通过本篇文章,您可以了解一个web安全从业人员所具备的大致知识面,同时我也制定了一个循序渐进的学习计划,用以帮您找准自己的定位,并可以自己制定适合自己的学习计划。

一   简介

通过本篇文章,您可以了解一个web安全从业人员所具备的大致知识面,同时我也制定了一个循序渐进的学习计划,用以帮您找准自己的定位,并可以自己制定适合自己的学习计划。

二   关键词

以不求甚解的方式去看书,基于兴趣选择优先学习点,培养一个星期看完一本书的能力。

三  塔形的知识面

在我看来,人类的知识都是具有阶梯式、层级式的特点,如果不了解下层的知识面,那么对于上层知识面的学习将会止于皮毛、浮于表面。对于web安全来说,我认为有5大块知识面是必须要掌握的,其层次关系如下图:

Web安全学习:如何自我定位与制定学习计划

最下层的是os(操作系统)与db(数据库)。中间层是web,也是最重要的贯通上下的知识面。最上层的是安全攻防的知识和系统开发的知识,二者是纠缠在一起的上升螺旋。

四  我建议的学习计划

虽然知识面是层级式的,但是对于我们的学习来说,不应该抱有先把下层的知识学会、再学上层的知识。我推荐的学习态度是不求甚解。因为现今是知识大爆炸的时代,你不必为了一个问题而死转牛角尖,这会降低学习效率。正确的做法是快速获取主要的知识,然后进入下一阶段的学习,那些未明白的地方,总会在未来的某个时刻或触类旁通、或回头重学,到了那时,你对这些问题的掌握程度,将是异常的深刻。

基于这种快速学习的方法,我给您的学习计划是这样的:

Web安全学习:如何自我定位与制定学习计划

每个阶段所包含的学习内容和时间安排如下:

序号 阶段 花费时间 学习内容
1 os基础知识 4天 os基础操作,os文件系统,os权限系统,os用户管理,常用系统命令
2 web基础知识 2天 http协议,html&js&asp&php&jsp基础知识
3 安全攻防基础知识 7天 常见安全漏洞的典型利用,常用安全工具使用方法
4 db基础知识 1天 常见数据库简介(oracle、mysql、sqlite),常用sql语句
5 安全攻防进阶1 7天 渗透测试方法论,安全漏洞深入分析
6 web深入学习 15天 https协议,搭建个人web服务器,深入学习html&php&js
7 os深入学习 & db深入学习 15天 程序进程线程,网络通信与端口,linux & 深入学习oracle
8 系统开发基础知识 15天 学习python
9 安全攻防进阶2 15天+ 大量的安全实战,编写poc,学习安全工具的插件及高级利用
10 系统开发进阶1 15天+ 学习java 基础知识,java web开发
11 安全攻防进阶3 保持学习 根据自己的爱好,深入某个领域
12 系统开发进阶2 保持学习 根据安全攻防的需要进行学习
合计 96天+

五 兴趣是学习的起点

从上面的计划可以看出,对于枯燥无味的理论知识,刚开始只安排了2-3天的常识学习,马上就是动手操作性比较强的安全攻防基础,这可以极大的激起您学习的兴趣。这也是我推崇的学习方式,基于兴趣。当您对常见漏洞的利用方法了然于胸、并不断使用的时候,您肯定会产生很多疑惑,这时候再回过头去学习下层的理论知识,您会产生恍然大悟的畅快感,如同遮天的乌云忽然间就烟消云散了。

六 不要小瞧您的学习能力

常听人说看一本书看了半年还没看完,一看到厚厚的书本就产生畏惧。其实您低估了不求甚解的学习效率,一个星期绝对可以看完一本书的。重要的是集中注意力,不要死转牛角尖,不要以为某个知识点没有明白就会错过了,我明确的告诉您,以后您还会再遇到那个知识点的,而那个时候稍加一想就会了。

七 自我定位与制定学习计划

拿出纸和笔,把您自己已经会的知识画成一个个的圈,然后选择和您已有知识关联最大的知识面去优先学习,因为让零散的知识点尽量融合成一个整体是最有效率的。然后挑出您最感兴趣的知识面去次优先学习,最后参考我给您的计划,制定您个人的学习计划。并将其打印出来,然后按部就班的学习吧。

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: