网络安全怎么入行?有哪些误区需要避免?

news2024/11/15 23:33:20

目录

一、学习网络安全容易造成的误区

二、学习网络安全的基本准备与条件

三、网络安全学习路线

第一步:计算机基础

第二步:编程能力

第三步:安全初体验

第四步:分方向

怎么入门?

四、明确目标,定位以后的方向

谈谈自学网络安全的缺点


网络安全的前景如何,其实大家都知道,但是想入行其实很大程度还是兴趣。

“兴趣是最好的老师”这句话并不泛泛,但捕捉和保护孩子兴趣的那个人更为重要。作为一个学习者的心思很多时候稍纵即逝,也不稳定。能把一种兴趣稳定下来并变成了解某一种领域的巨大动力,兴趣才具备了作为起点的真正意义。

迷茫不知所措的人可以仔细阅读完来解一解惑。想30天零基础入门网络安全,这些你一定要搞清楚。

一、学习网络安全容易造成的误区

1、把编程当作目的,忽略了它的工具职能

我和身边每个学习网安的人都说过:千万不要抱着“以编程为目的,再开始学习网络安全”的心态。

由于网络安全行业的特殊性,零基础就想把编程学好耗费的时间太长,会导致向安全过渡后可用的关键东西并不多。程序员是程序员,网络安全工程师是网络安全工程师,不能混为一谈。学习网络安全,太重视语言,那就有点本末倒置了,在网络安全行业,对安全问题原理的理解和分析的重要性是远远大于学习语言。

学习网络安全的过程中,要有目的的学习,哪里不会补哪里,达到更精准的学习目的。

2、学习过猛,没有计划

学习网络安全当然是要稳扎稳打,很多人都知道,但是真正开始学时就用力过猛,恨不得把所有东西都学进去,却导致了囫囵吞枣。在自学时,不太建议大面积泛学,而是要找到定位和精准的学习方向,不然那很容易半途而废。

二、学习网络安全的基本准备与条件

1、语言知识

网络安全的范围很广,具体学什么语言要看自己的方向。如果你选择的是web安全方向,你需要学php,jsp,javascipt等,如果你选择的是二进制方向,你需要学习汇编,C,C++等,但是有一门语言在安全领域是通用的,那就是Python,因为很多时候都需要使用Python来快速实现原型。

2、英语基础与专业名词

计算机发明者源于西方,所以计算机语言基本都是英文,一些相关的教程最初也是英文原版,并且会用到一些相关的专业名词,所以学习网络安全,需要一定量的英文和黑客专业名词,这样在与其他同行交流技术时,不至于出现“沟通障碍”。

有一些初学者,到现在都还不知道“肉鸡”是什么意思,这能看懂技术交流贴吗?

三、网络安全学习路线

高清可展开脑图点击获取

第一步:计算机基础

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

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

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

第二步:编程能力

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

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

第三步:安全初体验

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

第四步:分方向

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

怎么入门?

我们落到具体的技术点上来,网络安全学习路线,整体学习时间大概半年左右,具体视每个人的情况而定。

如果你把每周要学的内容精细化到这种程度,你还会担心学不会,入不了门吗,其实说到底就是学了两个月,但都是东学一下,西学一下,什么内容都是浅尝辄止,没有深入进去,所以才会有学了2个月,入不了门这种感受。

1、Web安全相关概念(2周)

  • 熟悉基本概念(SQL注入、上传、XSS、CSRF、一句话木马等);
  • 通过关键字(SQL注入、上传、XSS、CSRF、一句话木马等)进行Google/SecWiki;
  • 阅读《精通脚本黑客》,虽然很旧也有错误,但是入门还是可以的;
  • 看一些渗透笔记/视频,了解渗透实战的整个过程,可以Google(渗透笔记、渗透过程、入侵过程等);

2、熟悉渗透相关工具(3周)

  • 熟悉AWVS、sqlmap、Burp、nessus、chopper、nmap、Appscan等相关工具的使用;
  • 了解该类工具的用途和使用场景,先用软件名字Google/SecWiki;
  • 下载无后门版的这些软件进行安装;
  • 学习并进行使用,具体教材可以在SecWiki上搜索,例如:Brup的教程、sqlmap;
  • 待常用的这几个软件都学会了可以安装音速启动做一个渗透工具箱;

3、渗透实战操作(5周)

掌握渗透的整个阶段并能够独立渗透小型站点。 网上找渗透视频看并思考其中的思路和原理,关键字(渗透、SQL注入视频、文件上传入侵、数据库备份、dedecms漏洞利用等等);

  • 自己找站点/搭建测试环境进行测试,记住请隐藏好你自己;
  • 思考渗透主要分为几个阶段,每个阶段需要做那些工作;
  • 研究SQL注入的种类、注入原理、手动注入技巧;
  • 研究文件上传的原理,如何进行截断、双重后缀欺骗(IIS、PHP)、解析漏洞利用(IIS、Nignix、Apache)等;
  • 研究XSS形成的原理和种类,具体学习方法可以Google/SecWiki;
  • 研究Windows/Linux提权的方法和具体使用;

4、关注安全圈动态(1周)

  • 关注安全圈的最新漏洞、安全事件与技术文章;
  • 通过SecWiki浏览每日的安全技术文章/事件;
  • 通过Weibo/twitter关注安全圈的从业人员(遇到大牛的关注或者好友果断关注),天天抽时间刷一下;
  • 通过feedly/鲜果订阅国内外安全技术博客(不要仅限于国内,平时多注意积累),没有订阅源的可以看一下SecWiki的聚合栏目;
  • 养成习惯,每天主动提交安全技术文章链接到SecWiki进行积淀;
  • 多关注下最新漏洞列表,推荐几个:exploit-db、CVE中文库、Wooyun等,遇到公开的漏洞都去实践下。
  • 关注国内国际上的安全会议的议题或者录像,推荐SecWiki-Conference;

5、熟悉Windows/Kali Linux(3周)

  • 学习Windows/Kali Linux基本命令、常用工具;
  • 熟悉Windows下的常用的cmd命令,例如:ipconfig,nslookup,tracert,net,tasklist,taskkill
  • 等;
  • 熟悉Linux下的常用命令,例如:ifconfig,ls,cp,mv,vi,wget,service,sudo等;
  • 熟悉Kali Linux系统下的常用工具,可以参考SecWiki《Web Penetration Testing with Kali Linux》、《Hacking with Kali》等;
  • 熟悉metasploit工具,可以参考SecWiki、《Metasploit渗透测试指南》;

6、服务器安全配置(3周)

  • 学习服务器环境配置,并能通过思考发现配置存在的安全问题;
  • Windows2003/2008环境下的IIS配置,特别注意配置安全和运行权限,;
  • Linux环境下的LAMP的安全配置,主要考虑运行权限、跨目录、文件夹权限等;
  • 远程系统加固,限制用户名和口令登陆,通过iptables限制端口;
  • 配置软件Waf加强系统安全,在服务器配置mod_security等系统;
  • 通过Nessus软件对配置环境进行安全检测,发现未知安全威胁;

7、脚本编程学习(4周)

  • 选择脚本语言
  • Perl/Python/PHP/Go/Java中的一种,对常用库进行编程学习;
  • 搭建开发环境和选择IDE,PHP环境推荐Wamp和XAMPP,IDE强烈推荐Sublime;
  • Python编程学习,学习内容包含:语法、正则、文件、网络、多线程等常用库,推荐《Python核心编程》,不要看完;
  • 用Python编写漏洞的exp,然后写一个简单的网络爬虫;
  • PHP基本语法学习并书写一个简单的博客系统,参见《PHP与MySQL程序设计(第4版)》、视频;
  • 熟悉MVC架构,并试着学习一个PHP框架或者Python框架(可选);
  • 了解Bootstrap的布局或者CSS;

8、源码审计与漏洞分析(3周)

  • 能独立分析脚本源码程序并发现安全问题。
  • 熟悉源码审计的动态和静态方法,并知道如何去分析程序;
  • 从Wooyun上寻找开源程序的漏洞进行分析并试着自己分析;
  • 了解Web漏洞的形成原因,然后通过关键字进行查找分析;
  • 研究Web漏洞形成原理和如何从源码层面避免该类漏洞,并整理成checklist。

9、安全体系设计与开发(5周)

  • 能建立自己的安全体系,并能提出一些安全建议或者系统架构。
  • 开发一些实用的安全小工具并开源,体现个人实力;
  • 建立自己的安全体系,对公司安全有自己的一些认识和见解;
  • 提出或者加入大型安全系统的架构或者开发;

四、明确目标,定位以后的方向

学习网络安全,目标的明确是极其重要的,因为它的岗位很多,方向也不一样。有的人只是想打CTF比赛,而有的是为了找到好岗位。网络安全传统的安全岗位就包含了:安全产品工程师、安全咨询师、渗透测试工程师、安全开发工程师、安全运维工程师、应急响应工程师、等级保护测评师,这还不包括其他小众岗位。目标不同,路线与规划自然是不一样的。

谈谈自学网络安全的缺点

很多对网络安全感兴趣的小白,或有一定经验的it从业人员在刚开始时,都是选择自己自学一段时间,但是毫无例外的,最后却都放弃了自学,选择了网络安全培训机构。

那么这是为什么呢?究其原因是因为网络安全自学缺点太多,比不了网络安全培训机构来的有效。

网络完全这一行3大特殊性:专业细分多、技术性强、实操性强。网络安全不适合纸上谈兵,自学说白就是徒劳。当然自律性强、天赋极高的另说。

网络安全自学的缺点:

1、难接触到真实的网络对抗环境来实操,电信级的产品和设备那更不用想;

2、学的知识片面化,没有专业的教程来配套企业化,在就业上依旧迷茫。

3、遇到不懂的地方没有指导,漏掉太多细节。

4、没有好的氛围共同成长。

所以最后建议,如果你想学习网络安全,一定不要盲目的自学,如果只是想简单的入门了解网络安全,自学没有问题,如果想深入的学习,建议选择一个好的网络安全培训机构

我下面也给大家整理了一些网络安全的资料,大家不想一个一个去找的话,可以参考一下这些资料哈

这份完整版的网安学习资料已经上传,朋友们如果需要可以微信扫描下方CSDN官方认证二维码或者点击链接免费领取【保证100%免费】

CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费领取

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/623741.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

硬核科普:“画”说业界首个算网大脑

数字经济时代 算力已经成为核心生产力 中国移动提出“算力网络”全新理念 创新构建“连接算力能力” 新型信息服务体系 作为数字中国建设的国家队、主力军 中国移动布局算力网络的先锋队 移动云依托集团运营商禀赋优势 构建“4N31X”分布式云资源布局 为推动算力一点接入…

python 第四章 字符串str

系列文章目录 第一章 初识python 第二章 变量 第三章 基础语句 文章目录 4.1认识字符串字符串特征 4.2字符串输出4.3字符串输入4.4下标4.5切片4.6常用操作方法查找修改修改大小写转换字符串对齐删除空白字符判断 4.1认识字符串 字符串是 Python 中最常用的数据类型。我们一般使…

7min 到 40s:SpringBoot 优化居然可以玩出这么多花样

背景 耗时问题排查 观察 SpringBoot 启动 run 方法 监控 Bean 注入耗时 优化方案 如何解决扫描路径过多? 如何解决 Bean 初始化高耗时? 新的问题 SpringBoot 自动化装配,让人防不胜防 使用 starter 机制,开箱即用 背景 公…

我的GIT练习TWO

目录 前言 GIT安装教程 Git作者 GIT优点 GIT缺点 为什么要使用 Git GIT练习TWO ​编辑 总结 前言 Git 是一个分布式版本控制及源代码管理工具;Git 可以为你的项目保存若干快照,以此来对整个项目进行版本管理 GIT安装教程 点击进入查看教程:点击进入…

怎么清除电脑缓存?

由于我们电脑的硬盘内部的很多数据的传输速度和外界介面的传输速度不同,这时就有一个所谓的缓存来给我们把这些数据传输速度不同的差异更好的缓冲了一下,也正是因为这个原因我们的电脑才能够运行的更加流畅,感觉不到卡顿。 电脑在使用的过程…

C++算法:有向无环图实现游戏技能树

文章目录 前言一、游戏技能树的逻辑二、实现代码1、建立图2、各种方法函数(1)、出度入度表生成方法(2)、读取技能点(3)、修改技能点(4)、拓扑排序 3、测试代码 总结 前言 前面文章图…

【Vue】三:Vue组件:props配置 父组件获取子组件

文章目录 1.props配置1.1 方式一:简单的接收方式:直接采用数组接收1.2 方式二:添加类型限制1.3 方法三:添加类型限制,添加默认值,添加必要性1.4 不要修改props中的值 2.从父组件获取子组件 1.props配置 父…

Vulkan Tutorial 0 引言

1 开发环境 在这一章中,我们将设置您开发Vulkan应用程序的环境,并安装一些有用的库。除了编译器之外,我们将使用的所有工具都与Windows、Linux和MacOS兼容,但安装它们的步骤有些不同,这就是为什么它们在这里被单独描述…

MySQL所有基本操作详解

一.MySQL的基本操作 首先sql操作中的关键字的是大小写不敏感的,create 和CREATE是一样的。 1.库操作 1. 1查看数据库 show databases;show 和databases 之间有一个或者多个空格注意是databases而不是database结尾分号是英文形式,分号在SQL中是表示一…

爆肝3月斩获字节Java后端Offer,分享下我的面试复盘心得

前言 我背景是NUS计算机硕士,武汉理工EE本科,春招收获腾讯、字节等后端实习Offer,目前仍在字节实习,今天给大家分享一下面试准备经验,我认为也同样适用于大家日常的学习。 在开始分享之前,我想给大家抛出…

C语言 socket学习整理

分三个topic来熟悉C语言的socket使用方法。 一台client与一台server之间的双向TCP通讯。使用select接口实现的多台client与一台server之间的通讯。使用epoll接口实现的多台client与一台server之间的通讯。 TCP通信模型与UDP通信模型的区别 UDP通信模型中,在通信开…

uniapp-微信公众号静默授权

第一次开发公众号,以为静默授权非常的复杂,后面才发现静默授权本质上就是跳一个微信的内部链接,拿到code,通过code再去获取openid即可。 在网上找到了一个比较详细的教程进行了一些改造 首先跳转静默授权的地址: htt…

人体检测技术之TOF

人体检测技术之TOF 1.概述 智能人脸/视频锁领域的人体检测需求是要求远距离达到1m左右即可,一旦在此距离内检测人,则锁唤醒进行人脸识别,视频录制等操作。所以,人体检测技术非常关键。 选型主要是几个维度: 1.支持检测的距离范围,能否准确输出距离信息 2.支持检测FO…

100天涨薪4k!从功能测试到自动化测试,我整理的超全学习指南!

今年3月份,由于经济压力让我下定决心进阶自动化测试,已经24的我做了3年功能测试,坐标广州薪资定格在8k,可能是生活过的太安逸,觉得8000的工资也够了,但是生活总是多变的,女朋友的突然怀孕&#…

想让ChatGPT和低代码开发实现完美结合?看这篇文章就行!

关于ChatGPT ChatGPT,一款代表着目前人工智能最高水平的产物,自问世开始就饱受期待。这款由OpenAI所开发出来的大型语言模型,使用GPT-4技术来实现。其基于预训练数据集,可以进行自动聊天、自动生成各种文本等,被广泛应…

SpringBoot配置加载顺序

目录 前言一、Spring Boot 配置优先级二、命令行参数三、示例分析 前言 Spring Boot 不仅可以通过配置文件进行配置,还可以通过环境变量、命令行参数等多种形式进行配置。这些配置都可以让开发人员在不修改任何代码的前提下,直接将一套 Spring Boot 应用…

机器学习因子库及特征表达式,创业板布林带突破策略,年化13.3%(附代码)

原创文章第235篇,专注“个人成长与财富自由、世界运作的逻辑与投资"。 昨天有朋友留言说,L2R效果不好,当然我不知道这位兄弟的场景。 pybroker vs qlib pybroker的结构里,有一个特别的地方: 无论是规则型策略…

接口测试 —— 接口测试的意义

1、接口测试的意义(优势) (1)更早的发现问题: 不少的测试资料中强调,测试应该更早的介入到项目开发中,因为越早的发现bug,修复的成本越低。 然而功能测试必须要等到系统提供可测试…

GoogleTest之Matchers的用法

目录 组合匹配Matcher的类型转换重载函数的匹配基于参数执行不同的Actions多个参数作为一个整体匹配将Matchers作为谓词使用Matcher汇总 组合匹配 组合某些匹配某些值,可以使用以下: Matcher使用描述AllOf(m1, m2, …, mn)参数必须匹配m1, … mnAllOfA…

大数据:spark内核调度,DAG,job,宽窄依赖,stage阶段,内存计算管道,并行度task数量

大数据:spark内核调度 2022找工作是学历、能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法学生都得去找开发,测开 测开的话,你就得学数据库,sql,oracle,尤其s…