什么是网络安全
网络安全可以从攻击和防御两个视角进行分类。常见的'红队'、'渗透测试'属于攻击技术的研究范畴,旨在模拟黑客行为以发现系统漏洞;而'蓝队'、'安全运营'、'安全运维'则专注于防御技术,致力于构建防护体系、监测威胁并响应事件。
无论是网络层、Web 应用、移动终端、桌面系统还是云环境,都存在攻与防的博弈。例如在 Web 安全技术领域,既包含 Web 渗透测试,也包含 Web 应用防火墙(WAF)等防御手段。作为一名合格的网络安全工程师,应当做到攻守兼备,只有知己知彼,才能在复杂的网络环境中百战百胜。
怎样规划网络安全路径
对于安全行业的新人,建议优先从网络安全基础或 Web 安全/渗透测试方向入手。这两个方向市场需求量大,且发展相对成熟,入门门槛适中。
核心原则:先网络后安全,先 Web 再有安全。
安全并非独立存在的技术,而是建立在其他底层技术之上的上层应用技术。脱离了对操作系统、网络协议、编程语言的理解,安全学习很容易变成纸上谈兵,陷入'知其然不知其所以然'的困境,难以在职业道路上走远。
- 网工运维背景:建议选择网络安全方向入门,利用现有的网络知识快速迁移。
- 程序开发背景:推荐选择 Web 安全/渗透测试方向入门,代码审计能力是天然优势。
随着技术水平的提升和经验积累,不同方向的技术耦合度会越来越高,各个方向都需要具备跨领域的综合能力。
网络安全知识体系架构
根据网络安全技能图谱分析,需要接触的技术栈非常广泛。常见的核心技能包括外围打点能力、钓鱼远控能力、域渗透能力、流量分析能力、漏洞挖掘能力、代码审计能力等。为了科学合理地安排学习,可以将知识体系划分为以下四个阶段。
一、基础阶段
入门的第一步是系统化的学习计算机基础知识,这是后续所有安全技术的基石。
- 中华人民共和国网络安全法:了解法律边界,包含合规性要求、法律责任等关键知识点。
- Linux 操作系统:掌握常用命令、权限管理、服务配置、日志分析等,是安全工具运行的主要环境。
- 计算机网络:深入理解 TCP/IP 协议栈、HTTP/HTTPS 协议、DNS 解析过程、路由交换原理等。
- SHELL 脚本:能够编写自动化脚本处理日志、批量扫描、数据提取,提升工作效率。
- HTML/CSS:理解前端结构,为 XSS 等漏洞分析打下基础。
- JavaScript:掌握 DOM 操作、异步请求、浏览器沙箱机制,是 Web 安全的核心语言。
- PHP 入门:许多老旧系统仍使用 PHP,需了解其语法及常见函数漏洞。
- MySQL 数据库:理解 SQL 语句结构、索引优化、存储引擎,是注入漏洞的基础。
- Python:作为安全领域的首选脚本语言,用于编写 POC、EXP 及自动化工具。
完成基础知识的学习后,必须立即进入实操环节。互联网普及使得网站系统对外业务繁多,程序员水平参差不齐及运维配置不当导致的安全问题频发,因此需要掌握扎实的内容。
二、渗透阶段
此阶段重点掌握常见漏洞的原理、利用方式及防御策略。
- SQL 注入:深入理解联合查询、报错注入、盲注、堆叠注入等类型,掌握 WAF 绕过技巧。
- XSS 跨站脚本:区分反射型、存储型、DOM 型 XSS,掌握编码绕过及 Cookie 窃取原理。
- 文件上传漏洞:研究后缀名检测、MIME 类型检测、内容检测等绕过方法,以及 Webshell 管理。
- 文件包含漏洞:理解本地文件包含(LFI)与远程文件包含(RFI),结合伪协议读取敏感文件。
- CSRF 跨站请求伪造:理解 Token 验证机制,掌握构造恶意链接的方法。
- SSRF 服务端请求伪造:分析内网探测、端口扫描及协议头利用。
- XXE 外部实体注入:理解 XML 解析器配置,掌握读取本地文件及发起 SSRF 攻击。
- 远程代码执行(RCE):研究反序列化漏洞、命令执行函数调用等高危风险。


