成为一名网络安全工程师,你应该学习什么?
前言
这是我的建议如何成为网络安全工程师,你应该按照下面顺序学习。
简要说明
第一件事你应该学习如何编程,我建议首先学python,然后是java。
(非必须)接下来学习一些算法和数据结构是很有帮助的,它将帮助你更好的编程。
一旦你学会如何编程,你应该学习如何用 c 编程。重点关注以下话题:结构体、指针的算术运算、传值调用和引用调用、字符串IO基础、宏、条件编译、程序结构。
学习 UNIX 操作系统基础:Unix shells、shell 变量、文件系统、通用Unix 命令、Shell 脚本编程、Unix Shell 环境。
(非必须)学习汇编语言。理解汇编语言如何转化为机器码再转化为可被计算机硬件执行的程序。并且你应该学习如何分析汇编程序,这对逆向工程很有用。
理解计算机操作系统及架构、进程管理、内存管理、文件系统接口和实现、IO 系统、分布式系统、计算机网络、java 网络编程、防护与安全。理解系统管理员、计算机系统基础组成,对计算机主要组件和结构有宏观的认识。
进程管理:进程、线程、进程同步、CPU 调度、java 多线程编程,以及死锁。内存管理:主内存和虚拟内存。
体验不同操作系统例如 win unix linux 命令行与GUI 模式。
(非必须)学习密码学也是很有用的,密码学中的数学也很有用。传统对称密钥,现代对称密钥、RSA、数字签名等等,应用层安全:PGP、S/MIME
理解计算机网络和Internet 应用层:Web、HTTP、FTP、DNS和socket通信。传输层:UDP、TCP、和拥塞控制等。另一些不错的话题:网络管理、WireShark网络流量分析、渗透测试和网络安全、你也可以深入计算机和网络取证、漏洞和恶意软件分析、低层次协议包分析、理解软件工程。理解软件开发阶段,包括需求、文档、设计、编码、测试和维护,软件开发模型的优缺点。
在学术之外,也有其它的比较好的事情:参加夺旗战、在有一定基础参加安全会议,经常访问安全网站,在你学了一些网站相关知识,尝试建立属于自己的网站。
这个指导可能比其他人给出的要难一些,但当你想成为正义黑客或者是渗透测试专家时,这绝对是有必要的,你不能从脚本小子变为正义黑客,并且我写的这些没有我的知识量的一半,我知道我在做什么。
网络安全学习路线
1.1中华人民共和国网络安全法
网络安全学习普法
了解并介绍《网络安全法》
- 《全国人大常委会关于维护互联网安全的决定》
- 《中华人民共和国计算机信息系统安全保护条例( 2011 年修正)》
- 《中华人民共和国计算机信息网络国际联网管理暂行规定》
- 《计算机信息网络国际联网安全保护管理办法》
- 《互联网信息服务管理办法》
- 《计算机信息系统安全专用产品检测和销售许可证管理办法》
- 《通信网络安全防护管理办法》
- 《国家安全法》
1.2LINUX基础运维
- LINUX 系统运维基础
- LINUX 服务管理
- DOCKER 安装使用
- LINUX 安全加固
1.3LINUX网络管理
- 网络必备基础
- 物理层
- 数据链路层与交换机
- 网络模型 OSI TCP 对等传输
- 虚拟局域网 VLAN
- 静态路由与配置
- 网络地址转换 NAT
- 访问控制列表 ACL
- IP 协议与 IP 地址分类
- 子网掩码
- 网关
- 子网划分
1.4HTML与JAVASCRIPT
- HTML 入门?
- 为什么要学习 HTML
- HTML 文档格式、实体详解
- HTML 标签、框架、表格、列表、表单、图像、背景讲解
- JAVASCRIPT 简介
- JAVASCRIPT 特点
- JAVASCRIPT 组成
- 如何在网页中写 JAVASCRIPT
1.5PHP入门
- PHP 环境搭建、编写代码工具选择
- PHP 基础语法( 函数、变量、常量、注释、数据类型、流程控制、算术运算)
- PHP 流程控制(IF 语句 多种嵌套 SWITCH 语句 WHILE 循环 FOR 循环GOTO 循环)
- PHP 函数
- PHP 正则表达式
- PHP 文件上传、PHP 错误处理
- PHP 操作 MYSQL 数据库
- PHP 会话管理和控制
1.6MYSQL
- 数据库介绍、分类、安装、配置、登录、连接等
- 数据库基本操作 创建、查看、选中、查库表、删除数据库等相关命令行操作
- 数据字段操作 创建 修改 增加 调整字段顺序 排序 删除等字段命令行操作* 数据库表操作创建 查看 选中删除数据库表等相关个命令行操作
- 数据类型 整型、浮点、字符、时间、符合型等
- 字符集合索引增删改查之更新记录、数据库权限操作
1.7JAVA入门
1.8密码学 – 穿越密码的迷宫
- 剖析基本概念 - 什么是编码?
- 什么是加密与解密
- 寻找银弹 - 有没有无法破解的密码
- 通过 JAVA 代码入门加密与解密
- JAVA 代码解析对称密码 - DES AES
- JAVA 代码解析公钥密码 - RSA EIGAMAL 椭圆曲线 ECC
- JAVA 代码解析非对称密钥生成器
- JAVA 代码解析密钥规范管理
- JAVA 代码解析数字签名
- 数字证书相关管理
- JAVA 代码解析安全套接字
- 简单并常用的 BASE64
- 文件校验 - 循环冗余校验 CRC
- 打破出口限制 - 使用 BOUNCY CASTLE 替代默认算法实现
- 编码转化辅助工具 - COMMONS CODEC
第二部分:渗透与攻防
2.1安全基础与社会形势
2.2KALI常用工具的渗透与防御
- MSF 问题解答以及 MSF 初识
- MSF 完美升级以及目录结构解读
- MSF 基础命令
- MSF 之 MS08-067 MS17-010
- MSF 之 CVE-2017-8464 震网三代
- MSF 之后续权限渗透
- MSF 之 SAMBA 服务漏洞攻击还原
2.3SQL注入的渗透与防御
- SQL 注入-什么是 SQL 注入
- SQL 注入-产生 SQL 注入的原理
- SQL 注入-SQL 注入带来的危害有哪些
- SQL 注入-GET 型 SQL 注入漏洞是什么
- SQL 注入-工具以及靶场
- SQL 注入-POST 型 SQL 注入是什么
- SQL 注入-判断 SQL 注入点
- SQL 注入-回归测试
- SQL 注入-注入类型
- SQL 注入-TIME-BASED 基于时间的盲注
- SQL 注入-基于 USER-AGENT 注入
- SQL 注入-基于 USER-AGENT 注入练习
- SQL 注入-ERROR-BASED 基于报错注入
- SQL 注入-STACKED QUERIES 基于堆叠注入
- SQL 注入-BYPASS 混淆绕过
- SQL 注入-BYPASS WAF 绕过
- SQL 注入-BYPASS WAF 绕过总结
- SQL 注入- REMOTE CODE EXECUTION 远程代码执行
- SQL 注入-SQLMAP 的使用
- SQL 注入-SQLMAP 原理以及源码阅读
- SQL 注入-SQLMAP 实战 1-COOKIE 注入
- SQL 注入-SQLMAP 实战 2-USER-AGENT 注入
- SQL 注入-SQLMAP 实战 3-手动注入与 SQLMAP 对比
- SQL 注入-SQLMAP 实战 4-脱库
- SQL 注入-SQLMAP 高级应用
- SQL 注入-如何防御 SQL 注入
2.4XSS相关渗透与防御
- XSS 基本概念和原理介绍
- 反射型 储存型 DOM 型实战
- XSS 钓鱼及盲打演示
- XSS 平台搭建及 COOKIE 获取
- 反射型 XSS( POST) 获取用户密码
- XSS 获取键盘记录
- XSS 防御绕过
- XSS 绕过之 HTMLSPECIALCHARS()函数
- XSS 安全防御
2.5上传验证渗透与防御
- 文件上传-基础
- 文件上传-场景
- 文件上传-漏洞原理
- 文件上传-上传文件代码函数原理&上传图片拦截
- 文件上传-漏洞带来的危害有哪些
- 文件上传-一句话木马
- 文件上传-后缀客户端验证-JS 禁用&BURP 改包&本地提交
- 文件上传-后缀黑名单验证-大小写&加空格&符号点&::$DATA
- 文件上传-后缀白名单验证-MIME 修改&%00 截断&0X00 截断
- 文件上传-后缀变异性验证-FINECMS 任意文件上传
- 文件上传-文件头变异验证-验证 MIME
- 文件上传-二次渲染
- 文件上传-代码逻辑&&条件竞争
- 文件上传-格式变异&中间接解析&.HTACCESS
- 文件上传-如何避免文件上传漏洞
2.6文件包含渗透与防御
- 中间日志包含绕过
- PHP 包含读写文件
- STRREPLBE 函数绕过
- 包含截断绕过 FNM_TBH 函数绕过
- 文件包含漏洞防范措施
2.7CSRF渗透与防御
- CSRF 漏洞概述及原理;
- CSRF 快速拖库攻击还原;
- CSRF 管理员密码修改还原;
- CSRF 进行地址修改及钓鱼攻击还原;
- CSRF 漏洞安全防范
2.8 SSRF渗透与防御
- SSRF 原理及寻找方法;
- SSRF 攻防实战及防范方法;
2.9 XXE渗透与防御
- XXE 基础知识;
- XXE CTF 考题
- XXE CTF 考题测试以及漏洞修复
- XXE 漏洞攻防测试
2.10 远程代码执行渗透与防御
- 远程代码执行原理介绍
- PHP 远程代码执行常用函数演示
- PHP 反序列化原理和案例演示
- WEBLOGIC 反序列化攻防过程还原
- STRUTS2 命令执行攻防过程还原
- JBOSS 反序列化攻防过程还原
- 远程命令执行漏洞修复
2.11 反序列化渗透与防御
- 反序列化-什么是反序列化操作
- 反序列化-为什么会出现安全漏洞
- 反序列化-PHP 反序列化漏洞如何发现
- 反序列化-PHP 反序列化漏洞如复现
- 反序列化-CMS 审计-序列化考点
- 反序列化-JAVA 反序列化漏洞发现利用点
- 反序列化-JAVA 反序列化考点-真实环境&CTF
- 反序列化-JAVA 反序 WEBGOAT&YSOSERIAL&PAYLOAD
- 反序列化-如何避免反序列化漏洞
2.12 逻辑相关渗透与防御
- 逻辑漏洞概述;如何挖掘逻辑漏洞;
- 交易支付中的逻辑问题;
- 密码修改逻辑漏洞;
- 个人项目逻辑漏洞分享;
- 逻辑漏洞修复;
2.13 暴力猜解与防御
- C/S 架构暴力猜解( 常用网络、系统、数据库、第三方应用密码爆破)* * B/S 架构暴力猜解( 弱口令)
- HYDRA 安装与使用暴力猜解安全防范
成为一名网络安全工程师,你应该学习什么?相关推荐
- 网络安全工程师的入门学习的路径
网络安全工程师的入门学习的路径 最近看到网上有很多人在问诸如:"怎样成为网络信息安全工程师"等相关问题,这可能与近几年网络安全事件频发,国家对于互联网信息安全和互联网舆情的重视程度 ...
- 作为一名网络安全工程师是什么样的体验
作为一名网络安全工程师是什么样的体验 网络安全工作涉及到很多细分的岗位,比如系统安全工程师.网络安全工程师.Web安全工程师.安全构架师等等. 伴随着科技的进步,特别是互联网的高速发展,IT方面人才的 ...
- 网络安全工程师千峰学习总结第八天
网络安全工程师千峰学习总结第八天 本博客所写内容均是为了方便自己复习所使用,禁止转载或以博客中的命令手段攻击他人 服务器远程管理 一.远程管理类型 1.图形 2.命令行 二.远程桌面 三.telnet ...
- 网络安全工程师千峰学习总结第四天
网络安全工程师千峰学习总结第四天 前期回顾 1.虚拟化技术:vmware vsphere 2.格式化格式:NTFS FAT 3.ctrl+alt 4.企业 Enterprise 专业 professi ...
- 如何成为一名网络安全工程师(学习路线)
前言 本路线图希望帮助想成为企业IT架构师网络安全方向的同学. 本路线图针对以下三类人群有用: 1.计算机专业大学生(需要对接大学和企业的需求): 2.发学历证书的XX电脑培训学校学生(所学知识不深, ...
- 如何成为一名网络安全工程师
首先,我们来看看网络安全工程师的定义:指遵照信息安全管理体系和标准工作,防范黑客入侵并进行分析和防范,通过运用各种安全产品和技术,设置防火墙.防病毒.IDS.PKI.攻防技术等.同时进行安全制度建设与 ...
- 网络安全工程师最详细学习和职业规划路线(书籍推荐和导图下载)
网络安全行业热火朝天,但我们很少看到这个领域相关职业路线的规划,这一方面是由于这个行业还比较年轻,还没有完全建立职业路径,另一方面也是因为高端职位以前比较少,很少有人到达顶峰,所以难以总结. 但随着这 ...
- 作为一名视觉工程师该怎么学习?
作为一名刚刚入门的视觉工程师,我来写一点点这段时间的收获感悟吧! 首先,进入公司之后,你肯定会被安排去做和视觉相关的工作,这个工作你没有任何经验,所以会有一个人来带你,这个人一般有两种情况:1,视觉相 ...
- 网络安全工程师需要学哪些内容?零基础如何从入门到精通,看完这一篇就够了
网络安全工程师需要学习哪些内容? 作为一名网络安全工程师,需要学习以下内容: 计算机网络和操作系统:网络安全工程师需要了解计算机网络和操作系统的基础知识,以便理解网络安全的基础原理. 网络协议和技术: ...
最新文章
- 基于Google Reader的个人知识管理方案
- linux统计文件的个数
- 【设计模式】享元模式 实现 ( 实现流程 | 抽象享元类 | 具体享元类 | 享元工厂 | 用户调用 | 代码模板 )
- 在js文件中引用别的js文件的方法
- 四十七、Ansible自动化入门
- Spring配置文件-Bean实例化的三种方式
- 在 “相对” 高薪面前,任何的喊冤叫屈都是苍白无力的
- ASP.NET伪静态 UrlRewrite(Url重写) 实现和配置
- 渐变颜色Qt学习:QPainter之渐变填充
- java 状态机_Java 数据持久化系列之池化技术
- 麻省理工线性代数第二讲
- PDF格式分析(六)PDF版本
- h3 经典地图 第3辑(混战+RPG)
- 今日头条阅读量怎么刷_自动刷今日头条阅读量 头条号自己刷阅读量
- Check Exception or Uncheck Exception
- usb万能驱动win7_联想笔记本/联想一体机/台式机改win7步骤
- 达梦DM单机部署以及日常运维管理
- Java解决一个人赶着鸭子去每个村庄卖,每经过一个村子卖去所赶鸭子的一半又一只。这样他经过了七个村子后还剩两只鸭子,问他出发时共赶多少只鸭子?经过每个村子卖出多少只鸭子?
- noip2016 day1 t2 天天爱跑步
- Qt 图片 等比例显示、放大、缩小、平移图像 显示
热门文章
- 简单实现电影院选座效果
- Windows中应用ceph RBD
- linux安装深度播放器,分享|Ubuntu 14.04 用户如何安装深度音乐播放器和百度音乐插件...
- 坚持“技术、服务、招商”创新,持续为产业园高质发展注入动力
- 卡西欧手表 型号 解析【整理】
- 计算机三级网络技术知识点大纲,全国计算机等级三级网络技术考试大纲
- 【ArcGIS风暴】ArcGIS栅格影像(NDVI)归一化处理的两种方法精解
- ForkJoin框架详解 一张图搞明白工作窃取(work-stealing)机制
- 服务器被黑,帮凶竟然是Redis
- 中国药房管理系统行业市场供需与战略研究报告