零基础入门网络安全与 Web 安全学习路线指南
网络安全行业主要分为安全研发、二进制安全和网络渗透三个方向。文章详细介绍了从零开始的六阶段学习路线,涵盖操作系统、计算机网络、Web 基础、数据库、Web 安全、网络扫描、信息搜集、暴力破解、WAF 技术、日志分析、Python 编程、浏览器安全、第三方组件漏洞、内网渗透及高级工具使用等内容,旨在为初学者提供系统的技能提升路径。

网络安全行业主要分为安全研发、二进制安全和网络渗透三个方向。文章详细介绍了从零开始的六阶段学习路线,涵盖操作系统、计算机网络、Web 基础、数据库、Web 安全、网络扫描、信息搜集、暴力破解、WAF 技术、日志分析、Python 编程、浏览器安全、第三方组件漏洞、内网渗透及高级工具使用等内容,旨在为初学者提供系统的技能提升路径。

在网络安全领域,工作岗位主要涵盖以下三个核心方向:
网络安全行业与其他行业一样,拥有自己的软件研发体系。除了通用的前端、后端、大数据分析等岗位外,还有与安全业务紧密相关的研发岗位。
该分类下可分为两个子类型:
总结来说,安全研发的产品多用于检测发现或抵御安全攻击,涉及终端侧(PC、手机、网络设备)及服务器端。开发技术栈以 C/C++、Java、Python 为主,部分涉及 GoLang、Rust。相比其他方向,安全研发对纯安全技能的要求相对灵活,但具备安全底层的开发功底是面试加分项。
这是安全领域的两大核心技术方向之一,主要涉及软件漏洞挖掘、逆向工程、病毒木马分析等工作。涉及操作系统内核分析、调试与反调试、反病毒等技术。因常与二进制数据打交道,故统称此方向。
该方向特点是需耐得住寂寞。相比安全研发有产品输出,也较网络渗透听起来更具神秘感,这里更多时间是默默分析和研究。例如漏洞挖掘,为了研究一个问题可能花费数月甚至数年,不仅需要勤奋,更依赖天分。像腾讯安全实验室的知名专家,已深谙漏洞挖掘奥义,能将绝技融会贯通。对于大多数人而言,这是一个高门槛且需要长期坚持的领域。
这个方向更符合大众对'黑客'的认知,能够黑手机、电脑、网站、服务器、内网等。相比二进制安全,初期更容易入门,掌握基本技术并使用现成工具即可进行基础操作。
但从脚本小子进阶为黑客大神,后期需要掌握的知识极多。网络渗透偏向实战,要求技术在广度上有更高覆盖,从网络硬件设备、通信协议、网络服务(Web、邮件、文件、数据库等)到操作系统、攻击手法均需了解。这要求从业者成为全能型计算机专家,将各种技术融会贯通以应对实战场景。
以下内容建议结合系统化的知识图谱阅读,共划分为六个阶段。并非必须学完全部才能上手工作,初级岗位学到第三四个阶段通常已足够。
针对纯新手小白,重点是打基础,包含五部分内容:
学习 Windows 基础命令、PowerShell 使用及简单脚本编写。掌握注册表、组策略管理器、任务管理器、事件查看器等重要组件的使用。同时学会在 Windows 上搭建虚拟机并安装系统,为后续学习 Linux 做准备。切勿未建立 Linux 概念就急于学习 Kali,应循序渐进。
作为安全基石,需从宏观上理解网络。从局域网出发,了解以太网、集线器、交换机区别,理解 MAC 地址、IP 地址、子网掩码的作用。进而延伸至广域网和互联网,理解通信协议分层(七层 OSI 模型、四层 TCP/IP 模型),掌握各层协议作用及其在互联网中的应用。
Web 安全的重要组成部分是 Web 前端基础。需掌握 HTML+CSS+JS 的开发使用,特别是 JavaScript 的熟悉程度,了解 Ajax 原理及常用 jQuery 库。这部分偏重动手实践,通过网页编程打下基础。
接触数据库理论知识,重点掌握库、表、索引等概念,学习 SQL 编写,实现数据的增删改查。暂时无需深入编程操作数据库,先建立理论认知。
在储备了操作系统、网络协议、前端基础后,难度开始上升。
接触 Web 后端内容。从 Apache 和 Nginx 等主流 Web 服务器入手,理解动态网页原理(CGI/Fast-CGI 过渡到 ASP/PHP/ASPX/JSP)。学习表单操作、Session/Cookie、JWT、LocalStorage 等术语及其解决的安全问题。
选择 PHP 作为切入点并非因其流行度,而是因其历史遗留安全问题具有代表性。学习语法基础、后端请求处理、数据库访问及 ThinkPHP 框架,以便研究相关安全问题。
重点放在 HTTP/HTTPS 及抓包分析。掌握 Linux 上的 tcpdump 参数配置,熟练使用 Wireshark 分析数据包,利用 Fiddler 抓取分析加密 HTTPS 流量,使网络认识从抽象变得具象。
了解编解码技术和加解密技术,包括 Base64 编码、对称加密、非对称加密、哈希技术等。理解其概念、用途及工作原理。推荐阅读《加密与解密》。
全面学习真正的网络安全技术。
基于前端和 PHP 基础,正式学习 Web 安全。典型攻击手法包括 SQL 注入、XSS(跨站脚本攻击)、CSRF(跨站请求伪造)、各种注入、SSRF(服务端请求伪造)、文件上传漏洞等。务必注意:严禁拿互联网上的真实网站进行攻击测试,应在虚拟机中搭建包含漏洞的网站练手。
面对目标时,如何寻找攻击点至关重要。需了解目标运行的操作系统、开放端口、服务类型及版本信息。学习常用的端口扫描、后台扫描、漏洞扫描工具及其原理。
调研域名注册信息、关联人物、内部内容检索等。掌握 whois 查询,利用 Shodan、ZoomEye、FOFA 等网络空间搜索引擎检索 IP、域名背后的信息,以及 Google Hacking 技巧。
当扫描到开放服务(SSH、RDP、MySQL、Redis、Web 表单等)后,可使用字典进行暴力破解。常用工具包括 Hydra、超级弱口令,以及用于获取 Windows 密码的 Mimikatz。
安全具有攻防两面性,需学习防御和检测技术。
Web 应用防火墙(WAF)用于检测和防御 Web 攻击。作为攻方,需掌握 OpenResty、ModSecurity 架构及特征、行为、机器学习等检测算法,寻找绕过方法;作为守方,需加强检测和防御能力。
视野拓展至整个协议栈,包括 TCP 劫持、DNS 劫持、DDoS 攻击、DNS 隧道、ARP 欺骗等。同时学习流量分析技术、检测框架及规则语法,为安全开发或防御工作储备。
攻击者行为会被系统记录(登录日志、Web 日志、数据库日志等),攻击得手后常会抹除日志。掌握各类日志分析是攻防双方必备技能。
掌握 Python 编程能力,用于编写爬虫、数据处理、网络扫描工具、漏洞 POC 等。Python 是网络安全领域最适合的语言之一。
学习 IE、Chrome 等主流浏览器特性,掌握沙盒机制、同源策略和跨域技术,夯实浏览器侧漏洞攻击知识。
经典手法已成熟,现代攻击常依赖第三方组件漏洞。研究对象涵盖 Java 技术栈(Spring 全家桶、SSM)、Redis、MySQL、Nginx、Tomcat、Docker 等。掌握这些漏洞既可用于实战,也有助于从事漏洞挖掘工作。
攻入一点只是开始,如何横向移动、控制更多节点是内网渗透范畴。如永恒之蓝病毒通过 SMB 协议漏洞扩散。此部分理论较少,偏实战,需多搭建环境模拟。
渗透进入后常面临权限限制,需学习提权方法和常见漏洞。掌握 Windows/Linux 权限管理机制,以及虚拟化逃逸技术。
熟练掌握 Cobalt Strike 和 Metasploit 等神器,可大幅提升攻击效率。
成为高手需拓展知识面,涉猎二进制漏洞攻击、逆向工程、木马技术、内核安全、移动安全、侧信道攻击等领域,构建全方位的技能栈。
以上就是网络安全的学习路线梳理,希望对自学的你有所启发。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online
JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online
使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online
Terser 压缩、变量名混淆,或 javascript-obfuscator 高强度混淆(体积会增大)。 在线工具,JavaScript 压缩与混淆在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online