零基础如何学习Web 安全,如何让普通人快速入门网络安全?

Posted 普通网友

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了零基础如何学习Web 安全,如何让普通人快速入门网络安全?相关的知识,希望对你有一定的参考价值。

前言

网络安全现在是朝阳行业,缺口是很大。不过网络安全行业就是需要技术很多的人达不到企业要求才导致人才缺口大

初级的现在有很多的运维人员转网络安全,初级也会慢慢的卷起来,但是岗位多不用怕,以后各大厂也都会要网络安全人员,后续法律也会改革,网络安全只会越来越好,毕竟是国家牵头的,网络安全问题导致很多大企业都泄露过信息,还有被勒索的,层出不穷。

这个行业优势就是工资高,缺点就需要一直学,卷得要死,不是跟别人卷,而是跟自己卷,一会后面细说
这个行业目前从事最多几个岗位,分别是安全运维,安全服务,安全研究

运维先不说,岗位性质比较单一

安全服务岗

安全服务岗分为安全工程师,安全服务工程师,渗透测试工程师,等保测评等

其中安全工程师大多和设备打交道,类似于网络工程师,过去调试设备,根据需求调试好,然后撤退,这种岗位大多会招一些持有网络工程师证书的,如HCIE,HCIP等。

安全服务工程师,简称安服,就是提供安全服务,按照客户需求调试设备,让客户过等级保护,然后就是做一些简单的漏洞测试(渗透测试),以及做一些简单的加固等等,有些时候会给客户做一些安全培训。
渗透测试工程师,类似黑客,做一些渗透测试,让客户知道自己有哪些问题。然后就是新业务上线前也会做一下渗透测试,检查一下有没有漏洞啥的。

等保测评的就和商家过消防一样,网络安全也有等级,没通过就是不合规的。

安全研究

安全研究分为漏洞研究,规则提取。

平时会对一些软件,建站系统等做一些漏洞挖掘,审计一下代码,看看有没有漏洞啥的

有时候行业内公布一个比较新的漏洞,就需要有人立马去复现它,研究漏洞的原理,然后提取这个漏洞规则,也称作特征,然后告诉客户或者研发,这个漏洞要如何防御,防火墙要怎么检测等。

剩下的工作就比较细了,比如二进制安全,逆向,木马的免杀等等

当然,可能还有些没补充到位的请见谅。

以上就是安全行业的一些岗位了。我目前就是做的安全研究,工资确实高
领导说搞安全,你要比开发更懂开发。。。。。

然后我每天早上2小时解决完一天的事情,写好日报,然后就是打开B站,开始充电。。。。。

感觉安全没有尽头,太多东西要学了,什么都要学

我觉得吧,我们公司不景气的时候,第一个被砍的,大概就是我们部门吧,不敢说太多,怕被社工,被大佬们社工,无异于鞭尸。。。。。所以我不敢公布薪资,不过薪资确实很高,和开发差不多,技术相同的话,会比开发更高一些

感觉大家对网络安全行业还挺感兴趣的,那就介绍一下学习方向吧!

首先,只要从事网络安全行业,和漏洞打交道,是跑不掉的,那么这里就要涉及到一个问题。

你需要了解漏洞并且能复现它对吧?毕竟你要把它再复现一次才能确定它的危害性啊,那么,这个时候,就有两个点

1是需要了解漏洞原理
2是需要进行漏洞复现

好,先说1,漏洞有个种各样的,有网页的,有软件的,像什么工控芯片漏洞啥的就别了吧,我自己都缕不清了,其中涉及的有php写的,有java写的,还有逻辑漏洞,有数据库的,以及网络传输的,加解密的等等。

好,这个时候来看看你要学啥,php,java,读代码,数据库,网络,加解密,这还没说什么稀奇古怪的堆栈溢出啥的,总之,要想人前显贵,必然,脑壳遭罪。说到这里,后面的也没必要说了,后边就是漏洞利用了。

因为学完这些就够了,基础牢固了,再看看B站上安全的视频,学完就自己去尝试着挖挖漏洞,或者你学完联系下我吧,帮我看看代码,我教你挖洞,咱们py一下,哈哈哈哈

二、学习路线

上面说完了三个大的技术方向后,下面来聊聊该怎么上路呢?下面说说我的看法。
首先别想分方向,先打好基础!

第一步:计算机基础

这第一步,其实跟网络安全关系都不太大,而是进入IT领域的任何一个人都要掌握的基础能力。下面五大课程,是大学老师当年教给我们的,不管你是什么技术方向最好都好好学的技术,如今看来,仍然不过时:

  • 计算机网络
  • 计算机组成原理
  • 操作系统
  • 算法与数据结构
  • 数据

这每一门课程其实都内有乾坤,基本都不能做到一次学习就能掌握,而是伴随每个人的职业生涯,不同的技术阶段都会有不一样的认识和感受。
具体学起来建议参考敏捷开发,不断迭代:有一个粗略的认识**->有了进一步的认识->彻底掌握->温故而知新。**不用纠缠于把一门课程全部学完学懂才进入下一门课程。

第二步:编程能力

有了上面的一些基本功后,这个时候就需要动手,来写点代码,锤炼一下编程的功底。
下面三项,是安全行业的从业者都最好能掌握的语言:

  • Shell脚本:掌握常用的Linux命令,能编写简单的Shell脚本,处理一些简单的事务。
  • C语言(C++可选):C语言没有复杂的特性,是现代编程语言的祖师爷,适合编写底层软件,还能帮助你理解内存、算法、操作系统等计算机知识,建议学一下。
  • Python:C语言帮助你理解底层,Python则助你编写网络、爬虫、数据处理、图像处理等功能性的软件。是程序员,尤其是黑客们非常钟爱的编程语言,不得不学。

第三步:安全初体验

有了前面两步的打底,是时候接触一些网络安全的技术了,刚刚开始这个阶段,仍然不要把自己圈起来只学某一个方向的技术。这个阶段,我的建议是:但当涉猎,见往事耳。
网络协议攻击、Web服务攻击、浏览器安全、漏洞攻击、逆向破解、工具开发都去接触一下,知道这是做什么的,在这个过程中去发现自己的兴趣,让自己对网络安全各种领域的技术都有一个初步的认识。

第四步:分方向

在第三步中,慢慢发现自己的兴趣点,是喜欢做各种工具的开发,还是喜欢攻破网站,还是痴迷于主机电脑的攻击···
这个时候就可以思考自己后面的方向,然后精力开始聚焦在这个方向上,通过上面思维导图中各自方向的技术去持续深耕,成为某一个领域的大拿。

三、学习方法

上面介绍了技术分类和学习路线,这里来谈一下学习方法

  • 看书学习,这是最最基础的
  • 实际动手,开发路线需要多写代码,阅读优秀开源代码,二进制路线多分析样本,编写EXP等等,渗透测试多拿网站练手(合法方式)等
  • 打CTF,多参与一些网络安全比赛,接近实战的环境下锻炼动手能力
  • 混圈子,多混一些安全大牛出没的社群、社区、论坛,掌握行业信息,了解最新技术变化趋势

零基础如何入门渗透and黑客「web安全」

学习效果

爱德加·戴尔提出了一套学习模型:模型主要分别为被动学习与主动学习的一个过程。

同时提出,学习效果在30%以下的几种传统方式,都是个人学习或被动学习;而学习效果在50%以上的,都是团队学习、主动学习和参与式学习。

“输出”是最好的学习方式,“输出”的本质是体系重新结构化。

这里总结了如下经常碰到的问题,值得每一位网络安全从业人员深思:

  • 不知道怎么学?
  • 不知道学哪个方向?
  • 越学越不会?
  • 感觉自己跟不上知识更新的速度?
  • 从事网安工作若干年后,感觉遇到技术瓶颈,怎么突破?
  • 工具/技术招式越来越多,怎么办?
  • 从事管理工作后,没有时间或者精力学习技术怎么办?

【一>所有资源获取<一】
1、网络安全学习路线
2、电子书籍(白帽子)
3、安全大厂内部视频
4、100份src文档
5、常见安全面试题
6、ctf大赛经典题目解析
7、全套工具包
8、应急响应笔记

##第一周: 入门

在学习的时候,你起码需要对常见的黑客术语需要掌握,了解术语的话可以去看看这里的百度文库,写的还是可以,对大多数的黑客术语都有过渡,而且对计算机网络原理需要有着一定的基础,所以务必要去学习一下。

了解好黑客术语后,你可能就会认为,我现在是不是就能去入侵别人家的电脑、网站挂黑页了? No,你需要一本《精通脚本黑客》第二版《Web安全攻防宝典实战篇》,了解一些渗透技术和技巧,本人秉着黑客这门职业就是对计算机技术研究的执着,并不是去恶意攻击、破坏别人的系统就是黑客。

好了,你看完了那些书籍之后,也应该对黑客技术和渗透技术有了大致的了解,现在最快的学习捷径就是:思与勤

思:是思考的思,需要有自己对常见漏洞的一些见解,不仅要学攻击技巧,也要在互联网学会保护自己,不要让自己的思维被现有的技术束缚住,需要自己动脑思考。

勤:是多加练习,假使你看完了一两本书之后,对理论的理解已经非常的透彻,但是你个人在实战的时候就是在一种“懵”的状态下,所以,我个人推荐:边学习边实战,如若只学不练,那和纸上谈兵有什么区别呢?

##第二周: 学习常见黑客和渗透工具的使用

注意:这里绝对不是说的那些什么抓鸡啊、远控啊一些无脑软件,你觉得你用了那些软件后有什么?一丝虚荣心?还是成就感?不,你在别人大牛的眼里什么都不是,你还拿着别人玩烂了的东西到处一顿乱扫,所以你需要系统的学习,就算你说你时间不够,但是常见的工具还是要知道的,比如:Hydra、medusa、sqlmap、AWVS、Burpsuite、Beef-XSS、Metasploit、Nessus、wireshark等安全工具,这些是在安全圈和渗透圈比较知名的渗透工具与平台。

第三周:你现在已经对渗透已经有了了解了,所以大体上算是一个勉勉强强的脚本小子吧。

你现在可以开始学习linux了,因为我可以用一句话来问你:你见过国外的那些黑客或者网络安全工程师是用Windows的?你需要学习linux命令、linux网络编程等,VI和VIM是必须要学习的(两种神级编辑器,不需要我多说,会用的都说好)。

熟悉完linux后,你现在可以开始学习一些编程相关的知识,因为一个黑客至少都是掌握2种或多种编程语言,你如果没有编程基础的话,我这里推荐Python这个语言。因为Python这个语言代码简短,小白是很容易理解的,比如C语言的代码写一个helloworld需要5-6行,而Python只需要1行,学完了Python后可以再去学习一下C语言或者Java,你学会了一门语言后是会有基础的,而且语言都是一通互通,所以你学完Python之后再去学C应该不会有多难了,有必要的时候你也可以编写一款自己的黑客或渗透工具。

大约多了6-7个月之后,你也应该算是勉强一个初级黑客或者小黑客了,你在后期可以学习一些0day挖掘技术提升自己的技能水平,看一些安全书籍,关注安全圈动态,比较著名的技术论坛。

1年后:

你现在可以学习一些比较著名的渗透测试系统了,这里我列举了几个:

Kali linux Parrot OS Arch linux等较知名的一些渗透系统,有机会的话还可以研究一下对于网站和服务器安全狗、云锁等一些防护软件的绕过,现在市面上有的大多数都被安全狗屏蔽掉了,所以如果自己有充足的时间的话可以自己去研究一下,毕竟有一句话叫:闷声发大财。

推荐学习安全书籍:

《WIndows Powershell应用手册》
《黑客命令行攻防实战详解》
《Shellcoder编程揭秘》
《高度安全环境下的渗透测试》
《Windows黑客技术揭秘与攻防》
《黑客调式技术揭密》
《黑客反汇编揭秘(第二版)》
《黑客之道:漏洞发掘的艺术》
《木马技术揭秘与防御》
《Coding for Penetrating .Penetration》
《Exploit编写系列教程》
《Exploit应用开发中文手册》
《Exploit-Exercises》
《Q版缓冲区溢出教程》
《精通黑客编程》
《杀不死的秘密-反汇编揭露黑客免杀变种技术》
《挖0day》
《metasploitguide》
《Backtrack5从入门到精通》
《Linux C编程实战》
《linux黑客大曝光》
《常用黑客攻防技术大全》

以上是关于零基础如何学习Web 安全,如何让普通人快速入门网络安全?的主要内容,如果未能解决你的问题,请参考以下文章

零基础如何入门渗透and黑客「web安全」

零基础的Web前端如何快速入门?

零基础如何学习 Web 安全?

零基础如何快速学好大数据?

零基础如何快速学好大数据?

零基础快速入门web学习路线(含视频教程)