如何成为一名优秀的网络安全工程师?
前言
这是我的建议如何成为网络安全工程师,你应该按照下面顺序学习。
简要说明
第一件事你应该学习如何编程,我建议首先学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网络流量分析、渗透测试和网络安全、你也可以深入计算机和网络取证、漏洞和恶意软件分析、低层次协议包分析、理解软件工程。理解软件开发阶段,包括需求、文档、设计、编码、测试和维护,软件开发模型的优缺点。
在学术之外,也有其它的比较好的事情:参加夺旗战、在有一定基础参加安全会议,经常访问安全网站,在你学了一些网站相关知识,尝试建立属于自己的网站。
这个指导可能比其他人给出的要难一些,但当你想成为正义黑客或者是渗透测试专家时,这绝对是有必要的,你不能从脚本小子变为正义黑客,并且我写的这些没有我的知识量的一半,我知道我在做什么。
【一一帮助网络安全提升点我一一】
①网络安全学习路线
②20份渗透测试电子书
③安全攻防357页笔记
④50份安全攻防面试指南
⑤安全红队渗透工具包
⑥网络安全必备书籍
⑦100个漏洞实战案例
⑧安全大厂内部视频资源
⑨历年CTF夺旗赛题解析
网络安全学习路线
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 安装与使用暴力猜解安全防范
相关文章:
如何成为一名优秀的网络安全工程师?
前言 这是我的建议如何成为网络安全工程师,你应该按照下面顺序学习。 简要说明 第一件事你应该学习如何编程,我建议首先学python,然后是java。 (非必须)接下来学习一些算法和数据结构是很有帮助的,它将…...
面试问题之高并发内存池项目
项目部分 1.这个项目是什么? 高并发内存池的原型是谷歌一个开源项目,tcmalloc,而这个项目,就是tcmalloc中最核心的框架和部分拿出来进行模拟。他的作用就是在去代替原型的内存分配函数malloc和free。这个项目涉及的技术有,c&…...
如果阿里巴巴给蒋凡“百亿补贴”
出品 | 何玺 排版 | 叶媛 2021底,阿里内部进行组织架构大调整,任命蒋凡为阿里海外商业负责人,分管全球速卖通和国际贸易(ICBU)两个海外业务,以及Lazada等面向海外市场的多家子公司。 一年时间过去&#x…...
Linux版本现状
Linux的发行版本可以大体分为两类,一类是商业公司维护的发行版本,一类是社区组织维护的发行版本,前者以著名的Red Hat(RHEL红帽)为代表,后者以Debian为代表。Red HatRedhat,应该称为Redhat系列&…...
Winform中实现保存配置到文件/项目启动时从文件中读取配置(序列化与反序列化对象)
场景 Winform中实现序列化指定类型的对象到指定的Xml文件和从指定的Xml文件中反序列化指定类型的对象: Winform中实现序列化指定类型的对象到指定的Xml文件和从指定的Xml文件中反序列化指定类型的对象_winform xml序列化_霸道流氓气质的博客-CSDN博客 上面讲的序…...
基于python的超市历年数据可视化分析
人生苦短 我用python Python其他实用资料:点击此处跳转文末名片获取 数据可视化分析目录人生苦短 我用python一、数据描述1、数据概览二、数据预处理0、导入包和数据1、列名重命名2、提取数据中时间,方便后续分析绘图三、数据可视化1、美国各个地区销售额的分布&…...
GPT-4技术报告
摘要 链接:https://cdn.openai.com/papers/gpt-4.pdf 我们汇报了GPT-4的发展,这是一个大规模的多模态模型,可以接受图像和文本输入并产生文本输出。虽然在许多现实场景中,GPT-4的能力不如人类,但它在各种专业和学术基…...
前端性能优化
总结 使用打包工具对代码进行打包压缩;引入css时采用link标签,并放入头部,使其与文档一起加载,减少页面卡顿时间;尽量减少dom结构的重排和重绘;使用css雪碧图,减少网络请求;对不同分…...
尚医通-(三十三)就诊人管理功能实现
目录: (1)前台用户系统-就诊人管理-需求说明 (2)就诊人管理-接口开发-列表接口 (3)就诊人管理-接口开发-其他接口 (4)前台用户系统-就诊人管理-前端整合 ࿰…...
《Spring Boot 趣味实战课》读书笔记(二)
牛刀小试——五分钟入门 Spring Boot 万物皆可 Hello World 创建一个 Web 工程 填写项目信息 选择依赖 从 IDEA 打开下载好的 Spring Boot 工程: 完成核心代码 创建 HelloController 类并编写 hello 方法 创建一个 HelloController 类,或者选择 Fi…...
Spring Cloud -- GateWay
为什么需要网关在微服务架构中,一个系统会被拆分为很多个微服务。那么作为客户端要如何去调用这么多的微服务呢?如果没有网关的存在,我们只能在客户端记录每个微服务的地址,然后分别去调用。这样的话会产生很多问题,例…...
【C语言】memcpy , memset等内存操作函数使用方法与注意事项
这个章节,我们探讨C语言内存操作函数。 重点介绍处理内存操作函数使用和注意事项 和内存函数如何模拟实现。 内存函数所需头文件 #include<string.h> 文章目录memcpymemcpy 函数模拟实现memmovememmove 函数模拟实现memcmpmemcmp 函数模拟实现memsetmemset 函…...
尚融宝04-mybatis-plus插件和条件构造器
目录 一、分页插件 1、添加配置类 2、添加分页插件 3、测试分页 二、XML自定义分页 1、UserMapper中定义接口方法 2、定义XML 3、测试 三、乐观锁 1、场景 2、乐观锁方案 3、乐观锁实现流程 4、优化流程 四、wapper介绍 1、Wrapper家族 2、创建测试类 五、Qu…...
面试重难点问题(C++)
持续更新!!!!! 网络部分 1.问,四次挥手的过程,和双方状态变化? 挥手这前,两边都是established状态,客户端发起断开请求,向服务器发送fin请求&…...
androidx.appcompat 升级到1.5.1 趟过的坑
APP 要上google play,Android SDK 版本要升级到32;接了一个第三方SDK,不巧的是这个SDK引用appcompat是1.5.1,顺手把appcompat 包升级到1.5.1,这草率的一升,带来的不止一地鸡毛,还有精神上被残忍…...
[C++]反向迭代器
目录 前言: 1 对反向迭代器的构造思想 2 实现反向迭代器 3 完整代码 前言: 本篇文章主要介绍了STL容器当中的反向迭代器,可能有朋友会说:“反向迭代器有什么好学的?不一样还是迭代器吗,我正向能写出来&…...
解析Python编程中的包结构
假设你想设计一个模块集(也就是一个“包”)来统一处理声音文件和声音数据。通常由它们的扩展有不同的声音格式,例如:WAV,AIFF,AU),所以你可能需要创建和维护一个不断增长的各种文件格…...
【前端】深入浅出缓存原理
缓存的基本原理 对于前端来说,缓存主要分为浏览器缓存(比如 localStorage、sessionStorage、cookie等等)以及http缓存,也是本文主要讲述的。 当然叫法也不一样,比如客户端缓存大概包括浏览器缓存和http缓存 所谓htt…...
单调栈图文详解(附Java模板)
🍏🍐🍊🍑🍒🍓🫐🥑🍋🍉🥝 啥是"单调栈",它能解决什么样的问题? 文章目录🦩单调栈的概念&a…...
彻底理解Session、Cookie、Token,入门及实战
文章目录Session Cookie的使用Token的使用Session Cookie的使用 1. Session存储数据 HttpSession session request.getSession(); //Servlet底层通过的SESSIONID,获取Session对象。 session.setAttribute("loginTime",new Date()); out.println(&q…...
椭圆曲线密码学(ECC)
一、ECC算法概述 椭圆曲线密码学(Elliptic Curve Cryptography)是基于椭圆曲线数学理论的公钥密码系统,由Neal Koblitz和Victor Miller在1985年独立提出。相比RSA,ECC在相同安全强度下密钥更短(256位ECC ≈ 3072位RSA…...
安宝特方案丨XRSOP人员作业标准化管理平台:AR智慧点检验收套件
在选煤厂、化工厂、钢铁厂等过程生产型企业,其生产设备的运行效率和非计划停机对工业制造效益有较大影响。 随着企业自动化和智能化建设的推进,需提前预防假检、错检、漏检,推动智慧生产运维系统数据的流动和现场赋能应用。同时,…...
高防服务器能够抵御哪些网络攻击呢?
高防服务器作为一种有着高度防御能力的服务器,可以帮助网站应对分布式拒绝服务攻击,有效识别和清理一些恶意的网络流量,为用户提供安全且稳定的网络环境,那么,高防服务器一般都可以抵御哪些网络攻击呢?下面…...
10-Oracle 23 ai Vector Search 概述和参数
一、Oracle AI Vector Search 概述 企业和个人都在尝试各种AI,使用客户端或是内部自己搭建集成大模型的终端,加速与大型语言模型(LLM)的结合,同时使用检索增强生成(Retrieval Augmented Generation &#…...
Web中间件--tomcat学习
Web中间件–tomcat Java虚拟机详解 什么是JAVA虚拟机 Java虚拟机是一个抽象的计算机,它可以执行Java字节码。Java虚拟机是Java平台的一部分,Java平台由Java语言、Java API和Java虚拟机组成。Java虚拟机的主要作用是将Java字节码转换为机器代码&#x…...
嵌入式学习之系统编程(九)OSI模型、TCP/IP模型、UDP协议网络相关编程(6.3)
目录 一、网络编程--OSI模型 二、网络编程--TCP/IP模型 三、网络接口 四、UDP网络相关编程及主要函数 编辑编辑 UDP的特征 socke函数 bind函数 recvfrom函数(接收函数) sendto函数(发送函数) 五、网络编程之 UDP 用…...
人工智能 - 在Dify、Coze、n8n、FastGPT和RAGFlow之间做出技术选型
在Dify、Coze、n8n、FastGPT和RAGFlow之间做出技术选型。这些平台各有侧重,适用场景差异显著。下面我将从核心功能定位、典型应用场景、真实体验痛点、选型决策关键点进行拆解,并提供具体场景下的推荐方案。 一、核心功能定位速览 平台核心定位技术栈亮…...
Linux操作系统共享Windows操作系统的文件
目录 一、共享文件 二、挂载 一、共享文件 点击虚拟机选项-设置 点击选项,设置文件夹共享为总是启用,点击添加,可添加需要共享的文件夹 查询是否共享成功 ls /mnt/hgfs 如果显示Download(这是我共享的文件夹)&…...
基于 HTTP 的单向流式通信协议SSE详解
SSE(Server-Sent Events)详解 🧠 什么是 SSE? SSE(Server-Sent Events) 是 HTML5 标准中定义的一种通信机制,它允许服务器主动将事件推送给客户端(浏览器)。与传统的 H…...
OpenGL-什么是软OpenGL/软渲染/软光栅?
软OpenGL(Software OpenGL)或者软渲染指完全通过CPU模拟实现的OpenGL渲染方式(包括几何处理、光栅化、着色等),不依赖GPU硬件加速。这种模式通常性能较低,但兼容性极强,常用于不支持硬件加速…...
