网络安全去应该去哪里学习呢?。

author author     2023-03-05     223

关键词:

网络安全去应该去哪里学习呢?。

参考技术A

只要想学习哪里学习都是有效果的。但需要结合自身的一些特点来调整学习方向,这样学习起来会事半功倍,以下推荐3种学习线路,适用于不同的学习人群;

方法1:先学习编程,然后学习Web渗透及工具使用等

适用人群:有一定的代码基础的小伙伴

(1)基础部分

基础部分需要学习以下内容:

(1.1)计算机网络 :

重点学习OSI、TCP/IP模型,网络协议,网络设备工作原理等内容,其他内容快速通读;

【推荐书籍】《网络是怎样连接的_户根勤》一书,简明扼要,浅显易懂,初学者的福音;如果觉得不够专业,可以学习图灵设计丛书的《HTTP权威指南》;

(1.2)Linux系统及命令 :

由于目前市面上的Web服务器7成都是运行在Linux系统之上,如果要学习渗透Web系统,最起码还是要对linux系统非常熟悉,常见的操作命令需要学会;

学习建议:学习常见的10%左右的命令适用于90%的工作场景,和office软件一样,掌握最常用的10%的功能,基本日常使用没什么问题,遇到不会的,再去找相关资料;常见的linux命令也就50-60个,很多小白囫囵吞枣什么命令都学,这样其实根本记不住。

【推荐书籍】Linux Basics for Hackers;

(1.3)Web框架 :

熟悉web框架的内容,前端HTML,JS等脚本语言了解即可,后端PHP语言重点学习,切记不要按照开发的思路去学习语言,php最低要求会读懂代码即可,当然会写最好,但不是开发,但不是开发,但不是开发,重要的事情说三遍;

数据库:

需要学习SQL语法,利用常见的数据库MySQL学习对应的数据库语法,也是一样,SQL的一些些高级语法可以了解,如果没有时间完全不学也不影响后续学习,毕竟大家不是做数据库分析师,不需要学太深;

(2)Web安全

(2.1)Web渗透

掌握OWASP排名靠前的10余种常见的Web漏洞的原理、利用、防御等知识点,然后配以一定的靶场练习即可;有的小白可能会问,去哪里找资料,建议可以直接买一本较为权威的书籍,配合一些网上的免费视频系统学习,然后利用开源的靶场辅助练习即可;

【推荐书籍】白帽子讲Web安全(阿里白帽子黑客大神道哥作品)

【推荐靶场】常见的靶场都可以上github平台搜索,推荐以下靶场DVWA、bWAPP、upload-labs-master、SQL-lib-master、WebBug、pikachu等,有些是综合靶场,有些是专门针对某款漏洞的靶场;

(2.2)工具学习

Web渗透阶段还是需要掌握一些必要的工具,工具的学习b站上的视频比较多,挑选一些讲解得不错的视频看看,不要一个工具看很多视频,大多数视频是重复的,且很浪费时间;

主要要掌握的工具和平台:burp、AWVS、Appscan、Nessus、sqlmap、nmap、shodan、fofa、代理工具ssrs、hydra、medusa、airspoof等,以上工具的练习完全可以利用上面的开源靶场去练习,足够了;

练习差不多了,可以去SRC平台渗透真实的站点,看看是否有突破,如果涉及到需要绕过WAF的,需要针对绕WAF专门去学习,姿势也不是特别多,系统性学习学习,然后多总结经验,更上一层楼;

(2.2)自动化渗透

自动化渗透需要掌握一门语言,且需要熟练运用,可以是任何一门自己已经掌握得很熟悉的语言,都可以,如果没有一门掌握很好的,那我推荐学习python,最主要原因是学起来简单,模块也比较多,写一些脚本和工具非常方便;

虽说不懂自动化渗透不影响入门和就业,但是会影响职业的发展,学习python不需要掌握很多不需要的模块,也不需要开发成千上万行的代码,仅利用它编写一些工具和脚本,少则10几行代码,多则1-200行代码,一般代码量相对开发人员已经少得不能再少了,例如一个精简的域名爬虫代码核心代码就1-20行而已;

几天时间学习一下python的语法,有代码基础的,最快可能一天就可以学习完python的语法,因为语言都是相通的,但是学习语言最快的就是写代码,别无他法;接下来可以开始尝试写一些常见的工具,如爬虫、端口探测、数据包核心内容提取、内网活跃主机扫描等,此类代码网上一搜一大把;然后再写一些POC和EXP脚本,以靶场为练习即可;有的小伙伴可能又要问了,什么是POC和EXP,自己百度去,养成动手的好习惯啦;

(2.3)代码审计

此处内容要求代码能力比较高,因此如果代码能力较弱,可以先跳过此部分的学习,不影响渗透道路上的学习和发展。

但是如果希望在Web渗透上需要走得再远一些,需要精通一门后台开发语言,推荐php,因为后台采用php开发的网站占据最大,当然你还精通python、asp、java等语言,那恭喜你,你已经具备很好的基础了;

代码审计顾名思义,审计别人网站或者系统的源代码,通过审计源代码或者代码环境的方式去审计系统是否存在漏洞(属于白盒测试范畴)

那具体要怎么学习呢?学习的具体内容按照顺序列举如下 :

掌握php一些危险函数和安全配置;

熟悉代码审计的流程和方法;

掌握1-2个代码审计工具,如seay等;

掌握常见的功能审计法;(推荐审计一下AuditDemo,让你产生自信)

常见CMS框架审计(难度大); 代码审计有一本国外的书籍《代码审计:企业级Web代码安全架构》,当然有空的时候可以去翻翻,建议还是在b站上找一套系统介绍的课程去学习;github上找到AuditDemo,下载源码,搭建在本地虚拟机,然后利用工具和审计方法,审计AuditDemo中存在的10个漏洞,难度分布符合正态分布,可以挑战一下;

至于CMS框架审计,可以去一些CMS官方网站,下载一些历史存在漏洞的版本去审计,框架的学习利用官方网站的使用手册即可,如ThinkPHP3.2版本是存在一些漏洞,可以尝试读懂代码;但是切记不要一上来就看代码,因为CMS框架的代码量比较大,如果不系统先学习框架,基本属于看不懂状态;学习框架后能够具备写简单的POC,按照代码审计方法结合工具一起审计框架;其实也没没想象中的那么难,如果你是开发人员转行的,恭喜你,你已经具备代码审计的先天性优势。

可能有人会问:“我代码很差,不学习代码审计行不行?”其实代码审计不是学习网络安全的必要条件,能够掌握最好,掌握不了也不影响后续的学习和就业,但你需要选择一个阶段,练习得更专业精通一些,如web渗透或者内网渗透,再或者是自动化渗透;

(3)内网安全

恭喜你,如果学到这里,你基本可以从事一份网络安全相关的工作,比如渗透测试、Web渗透、安全服务、安全分析等岗位;

如果想就业面更宽一些,技术竞争更强一些,需要再学习内网渗透相关知识;

内网的知识难度稍微偏大一些,这个和目前市面上的学习资料还有靶场有一定的关系;内网主要学习的内容主要有:内网信息收集、域渗透、代理和转发技术、应用和系统提权、工具学习、免杀技术、APT等等;

可以购买《内网安全攻防:渗透测试实战指南》,这本书写得还不错,国内为数不多讲内网的书籍,以书籍目录为主线,然后配合工具和靶场去练习即可;

那去哪里可以下载到内网靶场?如果你能力够强,电脑配置高,可以自己利用虚拟机搭建内网环境,一般需要3台以上的虚拟机;你也可以到国外找一些内网靶场使用,有一些需要收费的靶场还可以;

(4)渗透拓展

渗透拓展部分,和具体工作岗位联系也比较紧密,尽量要求掌握,主要有日志分析、安全加固、应急响应、等保测评等内容;其中重点掌握前三部分,这块的资料网络上也不多,也没有多少成型的书籍资料,可通过行业相关的技术群或者行业分享的资料去学习即可,能学到这一步,基本上已经算入门成功,学习日志分析、安全加固、应急响应三部分的知识也相对较为容易。

方法2:先学习Web渗透及工具,然后再学习编程

适用人群:代码能力很弱,或者根本没有什么代码能力,其他基础也相对较差的小伙伴

基础需要打好,再学习Web渗透比如linux系统、计算机网络、一点点的Web框架、数据库还是需要提前掌握;

像php语言、自动化渗透和代码审计部分内容,可以放在最后,当学习完毕前面知识后,也相当入门后,再来学习语言,相对会容易一些;

【优先推荐】方法2,对于小白来说,代码基础通常较弱,很多很多小白会倒在前期学习语言上,所以推荐方法2的学习,先学习web渗透和工具,也比较有意思,容易保持一个高涨的学习动力和热情,具体学习内容我就不说了,请小伙伴们参照方法1即可。

方法3:选择一些适合自己的课程学习

适用人群:需要体系化学习、增强实战能力的小伙伴

具体根据自身条件来讲,如果你自学能力较差,那建议选择课程学习,网上各大平台等都有很多各式各样的课程,是可以更快帮助你迅速入门的,然后再根据自己自身所欠缺的方面,不断去完善和学习,最后达到你所要的优秀水平。

学习书籍推荐如下:

【基础阶段】

Linux Basics for Hackers(中文翻译稿)

Wireshark网络分析(完整扫描版)

精通正则表达式(中文第3版)

图解HTTP 彩色版

[密码学介绍].杨新.中文第二版

网络是怎样连接的_户根勤

[PHP与MySQL程序设计(第4版)].W.Jason.Gilmore


【web渗透阶段】

web安全攻防渗透测试实战指南

白帽子讲Web安全

Web安全深度


【自动化渗透阶段】

Python编程快速上手-让繁琐工作自动化


【代码审计阶段】

代码审计:企业级Web代码安全架构


【内网渗透阶段】

内网安全攻防:渗透测试实战指南

社会工程防范钓鱼欺诈

参考技术B 想要学好网络安全课程,可以选择【老男孩教育】。老男孩教育经过十数年沉淀,重磅推出网络安全课程,该课程以网络安全人才的录用标准进行教学,从根本上提高学员的技术水平,不仅课程体系完善、专业,而且内含众多企业级实战项目。此外,该课程由10年以上网络信息安全领域从业经验的行业大牛亲自授课,毕业即可上手工作,做到真正的学以致用。 参考技术C 网络安全需要学习的内容:
1、网络实体的安全:可以分为环境安全,设备安全和媒体安全等。即主要指物理上的安全保护。
2、软件安全:就是使软件在受到恶意攻击的情形下依然能够继续正确运行及确保软件被在授权范围内合法使用的思想。
3、运行安全:为保障系统功能的安全实现,提供一套安全措施来保护信息处理过程的安全。这些安全措施主要有风险分析,审计跟踪,备份与恢复和应急。
4、信息安全:防止信息财产被故意的或偶然的非授权泄露,更改,破坏或使信息被违法的系统辨识,控制。

朋友想学习大数据,有哪里可以学习呢?

...况有选择的看。最后,你想要更近一步的探究大数据,就应该找更专业的书籍或论文去研读,这一类论文可以到知网或者谷歌文献去找。一、如何将商业运营问题转化为 查看详情

告诉你,初学网络安全应该怎样去学呢?安排的明明白白的

前言在这里告诉大家初学者想要学习网络安全应该怎样去学,怎么样的一个学习思路去学习才不能不走弯路,现在是处在一个找不到学习方向的阶段,其实不用担心,回忆以往我们学习一个新的学科或新的技能时... 查看详情

没有基础的小白应该怎么学习网络安全?

前言你开始在网上搜集关于网络安全的学习资料,经常会陷入自我疑惑当中去,尝试自学后能使用工具进行简单的扫描和挖洞,但总感觉后期学习很难有突破,不知道是哪里出现问题…于是又不得不重新来过。下... 查看详情

初学编程丨高考完利用暑假学编程,应该怎么去学习最合适呢?

作为完全零基础,我必须先声明:自学难度很大,请做好打硬仗的准备。我建议:高考完,还是需要放松的,所以,我觉得利用暑假学个C,启蒙就够了。如果学得快,可以再考虑学其他的。我... 查看详情

我的 Javascript 应该去哪里查看组件?

】我的Javascript应该去哪里查看组件?【英文标题】:WhereshouldmyJavascriptgoforViewComponents?【发布时间】:2016-04-2805:26:13【问题描述】:我已经习惯了MVC6中的viewcomponents,几年前我问过similarquestion关于部分视图的问题。如果我构建一... 查看详情

函数组件中的函数应该去哪里?

】函数组件中的函数应该去哪里?【英文标题】:Whereshouldfunctionsinfunctioncomponentsgo?【发布时间】:2018-02-1815:49:07【问题描述】:我正在尝试将我发现的here这个很酷的<canvas>动画转换为React可重用组件。看起来这个组件... 查看详情

云计算基础:云计算越来越广泛,我们应该如何去学习云计算

...越普及,越大众化,使用的人越来越多,我们应该如何去学习这门技术呢?这篇文章我们就来介绍如何学习我们的云计算。  学前介绍:学前介绍学习资料:HedEXLite、产品文档、笔记、PPT、上课视频;IAÿ... 查看详情

听劝,不要试图以编程为基础去学习网络安全

目录一、网络安全学习的误区1.不要试图以编程为基础去学习网络安全2.不要刚开始就深度学习网络安全3.收集适当的学习资料4.适当的报班学习二、学习网络安全的些许准备1.硬件选择2.软件选择3.外语能力三、网络安全学习路线... 查看详情

UITapGestureRecognizer 不捕获水龙头......“捕获”代码应该去哪里?

】UITapGestureRecognizer不捕获水龙头......“捕获”代码应该去哪里?【英文标题】:UITapGestureRecognizernotcapturingtaps...whereisthe"capture"codesupposedtogo?【发布时间】:2013-04-1901:41:13【问题描述】:我有一个iPad应用程序(XCode4.6、Story... 查看详情

比原链比原启动后去哪里连接别的节点(代码片段)

最开始我对于这个问题一直有个疑惑:区块链是一个分布式的网络,那么一个节点启动后,它怎么知道去×××别的节点从而加入网络呢?看到代码之后,我才明白,原来在代码中硬编码了一些种子地址,这样在启动的时候,可以... 查看详情

我的 JavaScript 模式/实践很糟糕。我应该去哪里寻求帮助?

】我的JavaScript模式/实践很糟糕。我应该去哪里寻求帮助?【英文标题】:MyJavaScriptpatterns/practicesstink.WhereshouldIseekhelp?【发布时间】:2011-12-3108:34:49【问题描述】:在过去的几年里,我几乎只专注于后端任务,我刚刚注意到,在... 查看详情

去哪里获取安全警报通知?

】去哪里获取安全警报通知?【英文标题】:Wheredoesonegotogetsecurityalertnotifications?【发布时间】:2011-11-2105:50:56【问题描述】:在我的公司,我们正努力以更一致的方式及时了解安全警报和通知。我们正在为我们的项目使用大量Ja... 查看详情

剥开比原看代码02:比原启动后去哪里连接别的节点(代码片段)

...ytomGitee地址:https://gitee.com/BytomBlockchain/bytom比原启动后去哪里连接别的节点最开始我对于这个问题一直有个疑惑:区块链是一个分布式的网络,那么一个节点启动后,它怎么知道去哪里找别的节点从而加入网络呢?看到代码之后... 查看详情

想学习unity,需要掌握啥知识

...学习算中等水平③对我这种新手想了解一下这方面的知识应该看看什么书了解一下之类的我可能不能即使回复,分享一下个人的学习路线,希望可以对新人有所帮助。第一阶段应该先去学习一些基础c#语言,之后跟着视频去做几... 查看详情

linux运维应该怎么去学习?

第一阶段:linux基础入门Linux基础入门主要包括:Linux硬件基础、Linux发展历史、Linux系统安装、xshell连接、xshell优化、SSH远程连接故障问题排查、Linux基础优化、Linux目录结构知识、Linux文件属性、Linux通配符、正则表达式、Linux系... 查看详情

作为移动开发程序员应该怎样去规划自己的学习路线,吐血整理

关于Android的近况大家都知道,今年移动开发不那么火热了,完全没有了前两年Android开发那种火热的势头,如此同时,AI热火朝天,很多言论都说Android不行了。其实不光是Android,iOS也有类似的言论。那么到... 查看详情

ue4怎么做?去哪里学习ue4?

你可以先去【绘学霸】网站找“游戏特效/unity3D”板块的【免费】视频教程-【点击进入】完整入门到精通视频教程列表:www.huixueba.net/web/AppWebClient/AllCourseAndResourcePage?type=1&tagid=306&zdhhr-11y04r-1242922119980144339想要系统的学习可... 查看详情

作为初学者,应该如何系统学习java呢?

...xff0c;每年的Java人才缺口人数都高达百万以上。作为IT小白应该如何系统学习Java呢?作为过来人,小千在这里给大家一些中肯的意见,希望对大家的工作和学习Java有一定的借鉴作用。多敲代码:很多人学习Java都喜... 查看详情