跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
编程语言java算法

网络安全入门指南:核心技能与学习路线

网络安全入门需掌握编程、操作系统、网络协议及密码学基础。学习路线涵盖法律法规、系统运维、Web 技术栈及常见漏洞攻防。建议通过实战夺旗赛及安全会议积累经验,构建完整知识体系。

忘忧发布于 2025/2/7更新于 2026/10/24115 浏览
网络安全入门指南:核心技能与学习路线

前言

这是我的建议如何成为白帽黑客,你应该按照下面顺序学习。

简要说明

第一件事你应该学习如何编程,我建议首先学 Python,然后是 Java。

(非必须)接下来学习一些算法和数据结构是很有帮助的,它将帮助你更好的编程。

一旦你学会如何编程,你应该学习如何用 C 编程。重点关注以下话题:结构体、指针的算术运算、传值调用和引用调用、字符串 IO 基础、宏、条件编译、程序结构。

学习 UNIX 操作系统基础:Unix shells、shell 变量、文件系统、通用 Unix 命令、Shell 脚本编程、Unix Shell 环境。

(非必须)学习汇编语言。理解汇编语言如何转化为机器码再转化为可被计算机硬件执行的程序。并且你应该学习如何分析汇编程序,这对逆向工程很有用。

理解计算机操作系统及架构、进程管理、内存管理、文件系统接口和实现、IO 系统、分布式系统、计算机网络、Java 网络编程、防护与安全。理解系统管理员、计算机系统基础组成,对计算机主要组件和结构有宏观的认识。

进程管理:进程、线程、进程同步、CPU 调度、Java 多线程编程,以及死锁。内存管理:主内存和虚拟内存。

体验不同操作系统例如 Windows、Unix、Linux 命令行与 GUI 模式。

(非必须)学习密码学也是很有用的,密码学中的数学很有用。传统对称密钥,现代对称密钥、RSA、数字签名等等,应用层安全:PGP、S/MIME。

理解计算机网络和 Internet 应用层:Web、HTTP、FTP、DNS 和 Socket 通信。传输层:UDP、TCP、和拥塞控制等。另一些不错的话题:网络管理、Wireshark 网络流量分析、渗透测试和网络安全、你也可以深入计算机和网络取证、漏洞和恶意软件分析、低层次协议包分析、理解软件工程。理解软件开发阶段,包括需求、文档、设计、编码、测试和维护,软件开发模型的优缺点。

在学术之外,也有其它的比较好的事情:参加夺旗战、在有一定基础参加安全会议,经常访问安全网站,在你学了一些网站相关知识,尝试建立属于自己的网站。

一、网络安全学习路线

1.1 中华人民共和国网络安全法

  • 《全国人大常委会关于维护互联网安全的决定》
  • 《中华人民共和国计算机信息系统安全保护条例(2011 年修正)》
  • 《中华人民共和国计算机信息网络国际联网管理暂行规定》
  • 《计算机信息网络国际联网安全保护管理办法》
  • 《互联网信息服务管理办法》
  • 《计算机信息系统安全专用产品检测和销售许可证管理办法》
  • 《通信网络安全防护管理办法》
  • 《国家安全法》

1.2 Linux 基础运维

  • Linux 系统运维基础
  • Linux 服务管理
  • Docker 安装使用
  • Linux 安全加固

1.3 Linux 网络管理

  • 网络必备基础
  • 物理层
  • 数据链路层与交换机
  • 网络模型 OSI TCP 对等传输
  • 虚拟局域网 VLAN
  • 静态路由与配置
  • 网络地址转换 NAT
  • 访问控制列表 ACL
  • IP 协议与 IP 地址分类
  • 子网掩码
  • 网关
  • 子网划分

1.4 HTML 与 JavaScript

  • HTML 入门
  • 为什么要学习 HTML
  • HTML 文档格式、实体详解
  • HTML 标签、框架、表格、列表、表单、图像、背景讲解
  • JavaScript 简介
  • JavaScript 特点
  • JavaScript 组成
  • 如何在网页中写 JavaScript

1.5 PHP 入门

  • PHP 环境搭建、编写代码工具选择
  • PHP 基础语法(函数、变量、常量、注释、数据类型、流程控制、算术运算)
  • PHP 流程控制 (IF 语句 多种嵌套 SWITCH 语句 WHILE 循环 FOR 循环 GOTO 循环)
  • PHP 函数
  • PHP 正则表达式
  • PHP 文件上传、PHP 错误处理
  • PHP 操作 MySQL 数据库
  • PHP 会话管理和控制
  • 1.6 MySQL

    • 数据库介绍、分类、安装、配置、登录、连接等
    • 数据库基本操作 创建、查看、选中、查库表、删除数据库等相关命令行操作
    • 数据字段操作 创建 修改 增加 调整字段顺序 排序 删除等字段命令行操作
    • 数据库表操作创建 查看 选中删除数据库表等相关个命令行操作
    • 数据类型 整型、浮点、字符、时间、符合型等
    • 字符集合索引增删改查之更新记录、数据库权限操作

    1.7 Java 入门

    1.8 密码学 – 穿越密码的迷宫

    • 剖析基本概念 - 什么是编码?
    • 什么是加密与解密
    • 寻找银弹 - 有没有无法破解的密码
    • 通过 Java 代码入门加密与解密
    • Java 代码解析对称密码 - DES/AES
    • Java 代码解析公钥密码 - RSA/EIGAMAL/椭圆曲线 ECC
    • Java 代码解析非对称密钥生成器
    • Java 代码解析密钥规范管理
    • Java 代码解析数字签名
    • 数字证书相关管理
    • Java 代码解析安全套接字
    • 简单并常用的 Base64
    • 文件校验 - 循环冗余校验 CRC
    • 打破出口限制 - 使用 Bouncy Castle 替代默认算法实现
    • 编码转化辅助工具 - Commons Codec

    二、渗透与攻防

    2.1 安全基础与社会形势

    2.2 Kali 常用工具的渗透与防御

    • MSF 问题解答以及 MSF 初识
    • MSF 完美升级以及目录结构解读
    • MSF 基础命令
    • MSF 之 MS08-067 MS17-010
    • MSF 之 CVE-2017-8464 震网三代
    • MSF 之后续权限渗透
    • MSF 之 SAMBA 服务漏洞攻击还原

    2.3 SQL 注入的渗透与防御

    • 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.4 XSS 相关渗透与防御

    • 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 包含读写文件
    • STR_REPLACE 函数绕过
    • 包含截断绕过 FNM_TBH 函数绕过
    • 文件包含漏洞防范措施

    2.7 CSRF 渗透与防御

    • 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 安装与使用暴力猜解安全防范

    目录

    1. 前言
    2. 简要说明
    3. 一、网络安全学习路线
    4. 1.1 中华人民共和国网络安全法
    5. 1.2 Linux 基础运维
    6. 1.3 Linux 网络管理
    7. 1.4 HTML 与 JavaScript
    8. 1.5 PHP 入门
    9. 1.6 MySQL
    10. 1.7 Java 入门
    11. 1.8 密码学 – 穿越密码的迷宫
    12. 二、渗透与攻防
    13. 2.1 安全基础与社会形势
    14. 2.2 Kali 常用工具的渗透与防御
    15. 2.3 SQL 注入的渗透与防御
    16. 2.4 XSS 相关渗透与防御
    17. 2.5 上传验证渗透与防御
    18. 2.6 文件包含渗透与防御
    19. 2.7 CSRF 渗透与防御
    20. 2.8 SSRF 渗透与防御
    21. 2.9 XXE 渗透与防御
    22. 2.10 远程代码执行渗透与防御
    23. 2.11 反序列化渗透与防御
    24. 2.12 逻辑相关渗透与防御
    25. 2.13 暴力猜解与防御

    更多推荐文章

    查看全部
    • C++11 右值引用与移动语义、可变参数模板及包装器详解
    • 黑客、骇客、红客、蓝客与飞客的定义及区别解析
    • Linux 进程间通信实战:命名管道(FIFO)详解
    • 央国企加速布局大模型落地应用
    • AI Skills 详解:定义、机制与应用场景
    • 常用技术资源与开源社区链接汇总
    • 大语言模型存在“逆转诅咒”,反向推理准确率极低
    • 基于 URI Scheme 实现从 Web 页面启动本地 C++ 客户端应用
    • 大语言模型在医学领域的最新进展综述
    • 网络安全入门指南:学习路径与核心技能
    • 在 Linux 服务器上部署 Clawdbot 并对接 Telegram 机器人
    • AI 在前后端开发中的差异化落地实践
    • 鸿蒙 ArkUI 组件动态化:自定义 FrameNode 实现
    • Llama-Factory 训练进度条卡死排查与优化指南
    • Flutter 应用架构演进:从基础骨架到 Riverpod 状态管理实战
    • 通义万相 2.1 多模态 AI 生成模型技术解析与应用
    • 算法实战:快速选择法解决第 K 大元素与最小 K 个数问题
    • 算法基础篇:一维差分专题与实战应用
    • 基于 AI 的论文降重与 AIGC 检测技术分析
    • 基于 LLaMA-Factory 的 GLM-4-9B-Chat LoRA 微调实战

    相关免费在线工具

    • 加密/解密文本

      使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

    • Keycode 信息

      查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online

    • Escape 与 Native 编解码

      JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online

    • JavaScript / HTML 格式化

      使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online

    • JavaScript 压缩与混淆

      Terser 压缩、变量名混淆,或 javascript-obfuscator 高强度混淆(体积会增大)。 在线工具,JavaScript 压缩与混淆在线工具,online

    • Gemini 图片去水印

      基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online