自我定位
转自:http://www.freebuf.com/articles/web/163786.html
一 简介
通过本篇文章,您可以了解一个web安全从业人员所具备的大致知识面,同时我也制定了一个循序渐进的学习计划,用以帮您找准自己的定位,并可以自己制定适合自己的学习计划。
二 关键词
以不求甚解的方式去看书,基于兴趣选择优先学习点,培养一个星期看完一本书的能力。
三 塔形的知识面
在我看来,人类的知识都是具有阶梯式、层级式的特点,如果不了解下层的知识面,那么对于上层知识面的学习将会止于皮毛、浮于表面。对于web安全来说,我认为有5大块知识面是必须要掌握的,其层次关系如下图:
最下层的是os(操作系统)与db(数据库)。中间层是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天的常识学习,马上就是动手操作性比较强的安全攻防基础,这可以极大的激起您学习的兴趣。这也是我推崇的学习方式,基于兴趣。当您对常见漏洞的利用方法了然于胸、并不断使用的时候,您肯定会产生很多疑惑,这时候再回过头去学习下层的理论知识,您会产生恍然大悟的畅快感,如同遮天的乌云忽然间就烟消云散了。
六 不要小瞧您的学习能力
常听人说看一本书看了半年还没看完,一看到厚厚的书本就产生畏惧。其实您低估了不求甚解的学习效率,一个星期绝对可以看完一本书的。重要的是集中注意力,不要死转牛角尖,不要以为某个知识点没有明白就会错过了,我明确的告诉您,以后您还会再遇到那个知识点的,而那个时候稍加一想就会了。
七 自我定位与制定学习计划
拿出纸和笔,把您自己已经会的知识画成一个个的圈,然后选择和您已有知识关联最大的知识面去优先学习,因为让零散的知识点尽量融合成一个整体是最有效率的。然后挑出您最感兴趣的知识面去次优先学习,最后参考我给您的计划,制定您个人的学习计划。并将其打印出来,然后按部就班的学习吧。
相关阅读
Collins COBUILD Advanced Dictionary(柯林斯高级英语
柯林斯高级英语学习词典特别标示了数千个对读者最有帮助的语法结构、用法,并附有插图。并包含有许多实际应用中常见的重要词汇及语
前言: Direct3D是一套底层的API,即:应用程序接口。Direct3D主要用来开启硬件加速功能来绘制3D场景,它可以看做是应用程序和图形设备(3D
文章一直在修改,之前学了外部中断和定时/计数器中断,对中断设置流程感觉比较清晰。学串行通信时,又用到中断,而且多了几步设置,回头看
C/C++ 学习笔记:istringstream、ostringstream、string
0、C++的输入输出分为三种:(1)基于控制台的I/O(2)基于文件的I/O(3)基于字符串的I/O 1、头文件[cpp] view plaincopyprint? #incl
最小二乘法是求线性回归问题最基础的方法之一,最近花了一点时间深入研究了一下,然后简单的整理一下思路。 先从一个简单的例子开始,