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

网络安全核心面试题与解析

详细梳理了网络安全领域的核心面试题,涵盖 Web 攻击防御(SQL 注入、XSS、CSRF、文件上传)、网络协议原理(ARP、DNS、RIP、OSPF)、传输层机制(TCP/UDP 区别、三次握手、粘包处理)以及安全模型(OSI 七层、SSL/TLS 加密流程)。内容针对技术面试场景进行了结构化整理,重点解释了攻击原理、防范措施及协议交互细节,适合后端开发与安全岗位求职者复习参考。

MongoKing发布于 2025/2/6更新于 2026/10/2279 浏览
网络安全核心面试题与解析

防范常见的 Web 攻击

什么是 SQL 注入攻击

SQL 注入是指攻击者在 HTTP 请求中注入恶意的 SQL 代码,服务器在构建数据库查询命令时未做过滤,导致恶意 SQL 被构造并执行。

示例: 用户登录时输入用户名 lianggzone,密码 ' or '1'='1。若后端使用字符串拼接方式构建 SQL:

select * from user where name = 'lianggzone' and password = '' or '1'='1'

这将绕过验证,使查询结果不为空。

防范措施:

  1. Web 端:
    • 有效性检验。
    • 限制字符串输入长度。
  2. 服务端:
    • 严禁拼接 SQL 字符串。
    • 必须使用预编译的 PreparedStatement。
    • 再次进行有效性检验(外部不可信原则)。
    • 过滤特殊字符(如单引号、双引号)。

什么是 XSS 攻击

跨站脚本攻击(Cross-Site Scripting),指攻击者篡改网页嵌入恶意脚本,在用户浏览时控制浏览器执行恶意操作。

防范措施:

  1. 前端与服务端同时实施字符串长度限制。
  2. 前端与服务端对 HTML 内容进行转义处理,将 <, >, &, ", ' 等特殊字符编码。
  3. 核心原则:对所有输入数据做严格的过滤和转义。

什么是 CSRF 攻击

跨站请求伪造(Cross-Site Request Forgery),指攻击者利用受害者的身份向第三方网站发送恶意请求。

常见后果:

  • 盗用身份发邮件、短信。
  • 进行转账交易。
  • 窃取账号信息。

防范措施:

  1. Token 机制: 在 HTTP 请求中添加 Token 验证,缺失或错误则拒绝。
  2. 验证码: 关键操作添加验证码(作为辅助手段)。
  3. Referer 识别: 检查 HTTP Header 中的 Referer 字段,若非本站来源则拒绝(注意 HTTPS 跳转 HTTP 等场景可能失效)。
  4. 安全框架: 使用 Spring Security 等框架提供的防护功能。

什么是文件上传漏洞

文件上传漏洞指攻击者上传可执行脚本文件,从而获得服务端命令执行权限。

防范措施:

  1. 目录权限: 设置上传目录为不可执行。
  2. 类型校验: 结合 MIME Type 和后缀名检查,优先使用白名单校验可靠类型。
  3. 重命名: 上传后重新命名文件,防止路径猜测。
  4. 大小限制: 限制上传文件大小。
  5. 独立域名: 单独设置文件服务器的域名。

DDoS 攻击

分布式拒绝服务攻击,客户端向服务端发送请求包但不回复确认,导致服务端资源耗尽。

预防策略:

  1. 限制同时打开 SYN 半连接数目。
  2. 缩短 SYN 半连接的超时时间。
  3. 关闭不必要的服务端口。

重要协议详解

ARP 协议工作原理

地址解析协议(ARP)用于根据 IP 地址获取物理地址(MAC 地址)。

工作流程:

  1. 主机广播 ARP 请求帧,包含目的 IP。
  2. 目的主机收到后,单播 ARP 应答,包含其 MAC 地址。
  3. 源主机更新 ARP 缓存表,后续通信直接使用缓存。

免费 ARP: 新加入网络的主机广播自己的 IP-MAC 映射,其他主机更新本地 ARP 表,用于检测 IP 冲突。

RARP 协议

反向地址转换协议,使只知道硬件地址(MAC)的主机获取 IP 地址。原理与 ARP 相反,通过广播请求 RARP 服务器返回 IP。

DNS 协议

域名系统,将域名转换为 IP 地址,属于应用层协议,通常使用 UDP 传输。

解析过程:

  1. 浏览器缓存: 检查是否已缓存。
  2. 系统缓存: 检查操作系统 hosts 文件。
  3. 本地域名服务器(LDNS): 递归查询。
  4. 根/顶级/权威域名服务器: 迭代查询。

总结: 浏览器缓存 -> 系统缓存 -> 路由器缓存 -> LDNS -> 根域名服务器 -> 顶级域名服务器 -> 主域名服务器。

RIP 协议

路由信息协议(RIP),基于距离矢量算法,使用跳数(Hop Count)作为度量,最大跳数为 15。

收敛机制:

  1. 计数到无穷大: 超过 15 跳视为不可达。
  2. 水平分割: 不向来源接口回传路由信息。
  3. 触发更新: 路由变化立即广播,无需等待周期。
  4. 保持定时器: 防止旧路由信息过早恢复。

缺点: 仅适用于小规模网络,收敛慢,非最优路径选择。

OSPF 协议

开放最短路径优先协议,链路状态协议,支持大规模网络。

原理:

  1. 组播 Hello 包建立邻居关系。
  2. 交换 LSA(链路状态通告)形成 LSDB(链路状态数据库)。
  3. 运行 SPF 算法计算 Cost 最小的最佳路径。

TCP/IP 与 HTTP 基础

TCP 与 UDP 区别

特性TCPUDP
连接性面向连接无连接
可靠性可靠交付尽最大努力交付
速度较慢(有握手开销)较快
首部开销20 字节8 字节
通信方式一对一一对一、多对多
数据单元字节流报文

三次握手与四次挥手

三次握手:

  1. 客户端发送 SYN (syn=j)。
  2. 服务器回复 SYN+ACK (ack=j+1, syn=k)。
  3. 客户端发送 ACK (ack=k+1)。 *目的:防止已失效的连接请求突然到达服务端产生错误。

四次挥手:

  1. 主动方发送 FIN。
  2. 被动方回复 ACK。
  3. 被动方发送 FIN。
  4. 主动方回复 ACK,进入 TIME_WAIT 状态(等待 2MSL)。 *TIME_WAIT 作用:确保最后一个 ACK 到达,防止旧连接干扰新连接。

GET 与 POST 区别

  • GET: 参数在 URL 中,不安全,有长度限制(约 2KB),幂等,会被缓存。
  • POST: 数据在 Body 中,相对安全,理论上无限制,非幂等,默认不缓存。

Cookie 与 Session 区别

  • 存储位置: Cookie 在客户端,Session 在服务端。
  • 数据类型: Cookie 值为字符串,Session 值可为对象。
  • 安全性: Session 更安全。
  • 生命周期: Cookie 可设过期时间,Session 随会话结束或超时销毁。

HTTP 长连接与短连接

  • HTTP/1.0: 默认短连接,每次请求新建 TCP 连接。
  • HTTP/1.1: 默认长连接(Keep-Alive),复用 TCP 连接。

TCP 粘包与拆包

原因: 应用程序写入数据大于缓冲区、MSS 分段、MTU 分片。 解决方案:

  1. 消息定长。
  2. 尾部增加分隔符(如换行符)。
  3. 消息头 + 消息体结构(Header 指定长度)。

TCP 可靠传输保障

  1. 校验和: 发现错误丢弃。
  2. 序列号: 重组失序数据。
  3. 确认应答: 接收方反馈确认。
  4. 超时重传: 未收到确认则重发。
  5. 流量控制: 滑动窗口机制防止溢出。
  6. 拥塞控制: 动态调整发送速率。

常见状态码

  • 200 OK: 请求成功。
  • 403 Forbidden: 禁止访问。
  • 404 Not Found: 资源不存在。
  • 500 Internal Server Error: 服务器内部错误。

URI 与 URL 区别

  • URI: 统一资源标识符,唯一标识资源。
  • URL: 统一资源定位符,不仅标识资源还指明访问方法。

安全协议与模型

OSI 七层模型

  1. 物理层: 比特流传输。
  2. 数据链路层: 帧传输,MAC 寻址。
  3. 网络层: 路由选择,IP 寻址。
  4. 传输层: 端到端可靠传输(TCP/UDP)。
  5. 会话层: 建立、维持、终止会话。
  6. 表示层: 数据格式转换、加密、压缩。
  7. 应用层: 为用户进程提供服务。

SSL/TLS 与 HTTPS

HTTPS = HTTP + SSL/TLS。

加密机制:

  1. 非对称加密: 用于交换密钥(公钥加密,私钥解密)。
  2. 对称加密: 用于数据传输(速度快,共享密钥)。

工作流程:

  1. 客户端发起请求,协商加密算法。
  2. 服务器发送数字证书(含公钥)。
  3. 客户端验证证书合法性(CA 信任链)。
  4. 客户端生成随机会话密钥,用公钥加密发送给服务器。
  5. 双方使用会话密钥进行对称加密通信。

证书防伪: 通过 CA 私钥对摘要(Hash)加密生成数字签名。

TCP 对应应用层协议

  • FTP: 文件传输,端口 21。
  • Telnet: 远程登录,端口 23。
  • SMTP: 邮件发送,端口 25。
  • POP3: 邮件接收。
  • HTTP: Web 浏览,端口 80。
  • DNS: 域名解析,端口 53。
  • SNMP: 网络管理,端口 161。
  • TFTP: 简单文件传输,端口 69。

目录

  1. 防范常见的 Web 攻击
  2. 什么是 SQL 注入攻击
  3. 什么是 XSS 攻击
  4. 什么是 CSRF 攻击
  5. 什么是文件上传漏洞
  6. DDoS 攻击
  7. 重要协议详解
  8. ARP 协议工作原理
  9. RARP 协议
  10. DNS 协议
  11. RIP 协议
  12. OSPF 协议
  13. TCP/IP 与 HTTP 基础
  14. TCP 与 UDP 区别
  15. 三次握手与四次挥手
  16. GET 与 POST 区别
  17. Cookie 与 Session 区别
  18. HTTP 长连接与短连接
  19. TCP 粘包与拆包
  20. TCP 可靠传输保障
  21. 常见状态码
  22. URI 与 URL 区别
  23. 安全协议与模型
  24. OSI 七层模型
  25. SSL/TLS 与 HTTPS
  26. TCP 对应应用层协议

更多推荐文章

查看全部
  • Git 2.53.0 Windows 安装与 SSH 免密配置详解
  • 基于 Java+SpringBoot+SSM 的音乐分享与交流平台设计与实现
  • HBase 高并发写入场景下的性能优化实战
  • Python 3D 光照效果实战指南:核心算法与渲染技术
  • 飞算 JavaAI 实战:47 分钟重构高耦合遗留系统
  • OpenClaw 移动端部署实战:iOS/Android 语音唤醒与离线 AI
  • IntelliJ IDEA 与 VS Code Git 标准操作规范
  • Kimi Code CLI 工具与 IDE 集成使用指南
  • 基于 Java 的百度地图路线规划服务开发
  • 大模型场景下的向量数据库选型分析
  • 大厂 Android 开发核心面试题汇总
  • 大模型基本概念解析:定义、分类与发展历程
  • VTJ.PRO 2.0 深度解析:从低代码到 AI 智能体
  • 基于 DDPG 算法的电力市场博弈仿真与 Agent 建模研究
  • 2020 年 CSP-S 提高组初赛 C++ 试题解析
  • Java 全栈开发工程师面试实战:从基础到项目落地
  • RJ TextEd v16.54 免费多功能 Web 开发编辑器
  • 大模型评估 LLM Evals:5 种核心策略与实战应用指南
  • 网络安全零基础入门学习路线与规划指南
  • Git 版本管理:Checkout 回溯备份与标签管理

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如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