01 单选题:以下哪种类型的防火墙工作在 OSI 模型的网络层(第 3 层)?( )
A. 包过滤防火墙
B. 状态检测防火墙
C. 应用层防火墙
D. 下一代防火墙(NGFW)
【参考答案】A
一、为什么状态检测防火墙 = 网络层(3 层)+ 传输层(4 层)
要搞懂这个问题,先对比它的 "前辈"------包过滤防火墙(纯 3 层):
包过滤防火墙的局限:只基于「网络层信息」(IP 地址、协议类型,如 TCP/UDP/ICMP)过滤数据包,完全不关心 "连接状态"。比如:它允许 "192.168.1.1→203.0.113.1:80" 的 TCP 请求包,但无法判断后续返回的 "203.0.113.1→192.168.1.1" 的数据包是否属于这个合法连接,可能误拦或放行非法数据包。
状态检测防火墙的升级:为了解决 "无法跟踪连接" 的问题,它新增了对「传输层信息」的处理:
- 网络层(3 层):继续沿用 IP 地址、协议类型的过滤逻辑;
- 传输层(4 层):跟踪 TCP/UDP 的 "连接状态"(如 TCP 的三次握手、四次挥手、会话超时时间),并建立 "状态表" 记录合法连接的关键信息(源 IP、目的 IP、源端口、目的端口、连接状态)。只有属于 "状态表中已记录的合法连接" 的数据包,才会被放行,安全性远高于纯包过滤。
简单说:状态检测防火墙的核心是 "基于连接状态的过滤",而 "连接状态" 必须同时依赖 3 层(IP + 协议)和 4 层(端口 + 会话信息)的信息,因此工作在网络层 + 传输层。
二、为什么下一代防火墙(NGFW)覆盖 3-7 层?NGFW 的核心是 "融合式防护"------ 它不是单一功能的防火墙,而是整合了「传统防火墙、入侵防御(IPS)、Web 应用防火墙(WAF)、应用识别、用户认证、威胁情报」等多种功能,这些功能恰好对应 OSI 3-7 层的不同需求
| OSI 层级 | 对应 NGFW 的核心功能 | 作用说明 |
|---|---|---|
| 网络层(3 层) | 传统包过滤、IPsec VPN | 过滤 IP 地址、路由转发、站点到站点加密连接 |
| 传输层(4 层) | 状态检测、端口过滤、TCP/UDP 连接防护 | 跟踪会话状态、限制危险端口(如 23/Telnet) |
| 会话层(5 层) | 会话识别、VPN 会话管理 | 识别合法应用会话,阻断异常会话(如超长连接) |
| 表示层(6 层) | 数据加密 / 解密、格式转换 | 处理 HTTPS 解密(SSL/TLS 卸载)、识别编码后的恶意数据 |
| 应用层(7 层) | 应用识别、WAF、威胁情报匹配 | ① 识别具体应用(如微信、抖音,而非仅识别 80 端口);② 防御 SQL 注入、XSS 等应用层攻击;③ 结合威胁情报阻断恶意域名 / IP |
简单说:NGFW 的目标是 "一站式解决边界所有安全问题",而网络攻击可能发生在 3-7 层(比如 3 层的 IP 欺骗、4 层的 SYN 洪泛、7 层的 SQL 注入),因此它必须覆盖 3-7 层,才能实现 "从网络层到应用层的深度防护"。
02 判断题:入侵检测系统(IDS)可以完全替代防火墙的所有功能。( )
【参考答案】×【解析】核心知识点:IDS 与防火墙的核心区别。
- 防火墙:属于 "防护设备",基于规则允许 / 拒绝流量,实现逻辑隔离,主动阻断未授权访问;
- IDS:属于 "检测设备",仅监控网络流量、识别攻击行为并告警,不具备阻断功能,无法替代防火墙的访问控制作用。同类考点:IPS 与 IDS 的区别(IPS 可阻断攻击)、WAF 与传统防火墙的区别,重点记忆 "检测 vs 防护""是否具备阻断能力"。
IPS 与 IDS 的区别(核心:检测 vs 防护 / 是否阻断)
| 对比维度 | 入侵检测系统(IDS) | 入侵防御系统(IPS) |
|---|---|---|
| 核心功能 | 检测攻击:监控网络流量 / 主机行为,识别攻击特征或异常,仅产生告警(如日志、弹窗),不干预流量 | 防护攻击 :在检测基础上,主动阻断攻击(如丢弃恶意数据包、重置连接、封禁攻击 IP),直接阻止攻击生效 |
| 部署模式 | 旁路模式(被动复制流量分析):不接入主流量路径,不影响网络正常传输 | 内联模式(主动串联流量):所有流量必须经过 IPS,才能实现实时阻断,可能成为网络单点故障(需配置高可用) |
| 对网络影响 | 无影响(仅监听) | 可能增加轻微延迟(需实时分析 + 阻断),配置不当可能误拦正常流量 |
| 核心价值 | 发现潜在威胁,提供攻击溯源依据(日志) | 主动拦截攻击,保护目标系统免受侵害 |
| 考试关键词 | 检测、告警、旁路、不阻断 | 防护、阻断、内联、实时拦截 |
WAF 与传统防火墙的区别(核心:防护层级 / 防护对象)
| 对比维度 | 传统防火墙(包过滤 / 状态检测) | Web 应用防火墙(WAF) |
|---|---|---|
| 防护层级 | 网络层(3 层)+ 传输层(4 层):仅关注 IP 地址、端口号、协议类型(如 TCP/UDP)、连接状态 | 应用层(7 层):深入分析 HTTP/HTTPS 协议内容(如 URL 参数、表单数据、Cookie) |
| 防护对象 | 网络边界通用流量:阻止 "非法 IP + 端口" 的访问(如禁止外部访问 22 端口 SSH) | Web 应用专属威胁:针对 SQL 注入、XSS、CSRF 等应用层攻击 |
| 核心功能 | 访问控制(允许 / 拒绝流量)、NAT 转换、状态检测 | 应用层攻击防御、SQL 注入 / XSS 过滤、爬虫防护、敏感信息泄露防护 |
| 攻击识别 | 无法识别应用层攻击(如仅允许 80 端口 HTTP 流量,但无法区分正常 HTTP 和 SQL 注入的 HTTP 请求) | 能识别应用层攻击特征(如 URL 中包含 "union select" 等 SQL 注入语句) |
| 考试关键词 | 3-4 层、IP + 端口、通用流量 | 7 层、Web 应用、SQL 注入 / XSS、应用层协议 |
防火墙不是 IPS------ 传统防火墙和 IPS 是功能不同的独立安全设备,下一代防火墙(NGFW)会整合 IPS 功能,但 "整合≠等同",两者核心定位、防护逻辑有本质区别。
防火墙≠IPS,传统防火墙管 "访问控制"(3-4 层),IPS 管 "攻击拦截"(3-7 层);
IPS跟WAF的区别
IPS 和 WAF 都有 "检测 + 阻断" 的防护能力,但核心区别是 "广谱防护 vs 专项防护"------IPS 防护全网络层(3-7 层)的各类攻击,WAF 仅专注应用层(7 层)的 Web 应用专属攻击,两者防护范围、对象完全不同。
| 对比维度 | 入侵防御系统(IPS) | Web 应用防火墙(WAF) |
|---|---|---|
| 核心定位 | 广谱网络防护:防御全网络层的各类攻击,保护整个网络 / 网段 | Web 应用专项防护:仅防御应用层(7 层)的 Web 应用攻击,保护 Web 服务器(如网站、API 服务) |
| 防护层级 | 网络层(3 层)- 应用层(7 层):覆盖 IP、端口、协议、应用内容全维度 | 仅应用层(7 层):聚焦 HTTP/HTTPS 协议,深入分析 Web 应用数据(URL、表单、Cookie、脚本) |
| 防御的攻击类型 | 全类型攻击:1. 网络层(3 层):IP 欺骗、路由攻击;2. 传输层(4 层):SYN 洪泛、端口扫描;3. 应用层(7 层):SQL 注入、XSS(但无 Web 业务深度适配) | Web 专属攻击(仅 7 层):1. 注入类:SQL 注入、命令注入;2. 跨站类:XSS、CSRF;3. Web 特有:目录遍历、文件上传、爬虫攻击、敏感信息泄露 |
| 防护对象 | 所有网络设备 / 服务器(如数据库服务器、邮件服务器、Web 服务器) | 仅 Web 应用相关(如 Nginx/Apache 服务器、Web 应用程序、API 接口) |
| 部署位置 | 网络边界、核心交换机旁(内联模式):防护整个网段的流量 | Web 服务器前端(反向代理 / 透明模式):仅拦截访问 Web 应用的流量 |
| 核心识别逻辑 | 基于攻击特征库(如 DDoS 特征、恶意端口扫描特征)+ 异常流量检测 | 基于 Web 应用协议解析(如 HTTP 请求方法、参数格式)+ Web 攻击特征库(如 SQL 注入语句模板、XSS 脚本特征) |
| 考试关键词 | 全层级、广谱攻击、网络防护、3-7 层 | Web 应用、7 层、SQL 注入 / XSS、HTTP/HTTPS |
03 单选题:入侵防御系统(IPS)通常采用哪种部署模式以实现实时阻断攻击?( )
A. 旁路模式
B. 内联模式
C. 混合模式
D. 分布式模式
【参考答案】B
【解析】核心知识点:IPS 部署模式。
- A 错误:旁路模式仅复制流量进行检测,无法实时阻断(IDS 常用该模式);
- B 正确:内联模式要求所有流量必须经过 IPS,可在识别攻击后立即阻断,是 IPS 实现 "防御" 功能的核心部署方式;
- C 错误:混合模式是旁路 + 内联的组合,非 IPS 主流部署;
- D 错误:分布式模式是部署范围的描述,非阻断攻击的核心模式。同类考点:IDS 旁路部署、WAF 反向代理部署,需区分 "检测型设备" 和 "防御型设备" 的部署差异。
| 特性 | IDS (入侵检测) | IPS (入侵防御) |
|---|---|---|
| 部署模式 | 旁路模式 (Passive) | 内联模式 (Inline) |
| 角色 | 监听者、监控者 | 警察、拦截者 |
| 故障影响 | 设备故障不影响业务 | 设备故障可能中断业务 |
| 能力 | 只能报警,无法阻断 | 实时阻断攻击流量 |
IDS 是"旁路监控摄像头",只录像不抓人;IPS 是"内联门卫",实时拦截坏人。
IPS与WAF部署方式的区别
一、核心使命不同:管道保安 vs 贵重物品守卫
-
IPS(入侵防御系统) 的定位是 "网络管道保安"。
-
它负责的是网络层(L3/L4)和部分应用层 的流量。它要保护网络里的所有东西(服务器、PC、摄像头等),防止蠕虫、漏洞扫描、暴力破解、DDoS(分布式拒绝服务)攻击等。
-
它的核心要求是:透明、低延迟、普适性强。它不能成为网络的瓶颈,也不能让网络架构变得复杂。
-
-
WAF(Web应用防火墙) 的定位是 "Web应用保险库的守卫"。
-
它只关注应用层(L7) 的HTTP/HTTPS流量。它要保护的是具体的网站、API(应用程序接口)接口。
-
它的核心要求是:深度检测、协议完整性、隐藏源站。它需要完全理解复杂的Web交互逻辑,哪怕牺牲一点架构的简洁性。
-
二、为什么IPS必须用"内联串联"?
IPS采用内联模式(Inline),本质上是把自己变成一根能智能掐断流量的网线。

三、为什么WAF必须用"反向代理"?
WAF采用反向代理模式(Reverse Proxy),本质上是把自己变成网站的替身和门卫。

四、对比总结:为什么不能互换?
| 维度 | IPS(内联串联) | WAF(反向代理) |
|---|---|---|
| 处理对象 | 所有IP流量(L3-L7) | 仅HTTP/HTTPS(L7) |
| 对加密流量的处理 | 弱(无法解密或需导入私钥,风险高) | 强(天然SSL卸载,掌握明文) |
| 对网络的影响 | 透明,不改变拓扑 | 改变DNS指向,引入新的网络节点 |
| 阻断方式 | 丢弃数据包、发Reset | 拒绝连接、返回错误页面 |
| 故障风险 | 硬件Bypass保证断网风险可控 | 需通过DNS切换或负载均衡保证高可用 |
| 隐藏源站 | 不能(IP暴露) | 能(源站IP不出公网) |
04 判断题:防火墙规则的顺序对规则处理结果没有影响,所有规则都会被逐一检查。( )
【参考答案】×
【解析】核心知识点:防火墙规则匹配逻辑。防火墙规则遵循 "从上到下,匹配即停止" 的原则:流量触发第一条匹配规则后,不会再检查后续规则。因此规则顺序至关重要,需将具体、严格的规则(如特定 IP + 端口允许)放在前面,宽泛规则放在后面。同类考点:ACL 规则顺序、WAF 规则优先级,均需遵循 "先具体后宽泛" 的配置逻辑,避免规则冲突或失效。

WAF 部署在 用户(互联网/客户端)与 Web 服务器之间
典型架构:
bash
互联网 → 防火墙 → IPS → WAF → Web服务器 → 数据库防火墙 → 数据库
05 单选题:以下哪种协议主要用于构建虚拟专用网络(VPN),实现安全的远程访问或站点间通信?( )
A. SSL/TLS
B. IPsec
C. SSH
D. HTTPS
【参考答案】B【解析】核心知识点:IPsec 协议的应用场景。
- A. SSL/TLS:主要用于 Web 浏览器和服务器之间的安全通信(即 HTTPS)。
- B. IPsec:是一组用于在 IP 网络层提供安全服务的协议,是构建 VPN(如 L2TP/IPsec、IKEv2/IPsec)的核心技术,用于保护 IP 数据包的机密性、完整性和真实性。
- C. SSH:用于安全地远程登录和执行命令。
- D. HTTPS:是 HTTP 的安全版本,用于 Web 通信。
| 维度 | MPLS VPN (运营商专网) | IPsec/L2TP VPN (企业自建) | SD-WAN (智能融合) |
|---|---|---|---|
| 本质 | 租用运营商的隔离通道 | 自建加密隧道 | 智能调度多种链路 |
| 底层协议 | MPLS (标签交换) | IPsec、L2TP、GRE | 不限(IPsec、WireGuard等) |
| 是否加密 | 不加密(依赖物理/逻辑隔离) | 强加密(端到端) | 通常加密(端到端) |
| 成本 | 高(按带宽付费,如10M专线) | 低(依赖互联网) | 中等(混合链路,降本增效) |
| 稳定性 | 极高(有SLA保障) | 依赖互联网质量(无保障) | 高(通过链路冗余和切换保障) |
| 典型用户 | 金融、大型跨国企业总部互联 | 中小企业、分支接入、移动办公 | 现代大中型企业、连锁门店 |
06 判断题:在非对称加密算法中,用于加密数据的公钥和用于解密数据的私钥是相同的。( )
【参考答案】×
【解析】核心知识点:非对称加密的原理。非对称加密(又称公钥加密)使用一对密钥:公钥(Public Key)和私钥(Private Key)。公钥可以公开,用于加密数据;私钥必须保密,用于解密数据。用公钥加密的数据,只能用对应的私钥解密,反之亦然。这与对称加密(加密和解密使用同一密钥)形成鲜明对比。
通告登录网站讲解非对称加密的过程
| 步骤 | 谁做 | 具体操作 | 密钥使用 |
|---|---|---|---|
| 0. 前置准备 | CA(证书颁发机构) | CA 生成自己的密钥对(根证书私钥/公钥)。银行向 CA 申请证书,CA 验证银行身份后,签发 SSL 证书。 | CA 的私钥(绝密)、CA 的公钥(预装在操作系统/浏览器里) |
| 1. 服务器准备 | 银行服务器 | 银行服务器生成自己的密钥对(网站私钥/公钥),并安装 SSL 证书(证书里包含网站公钥)。 | 银行私钥 (存在服务器,绝不外传)、银行公钥(在证书里) |
| 2. 你访问网站 | 你的浏览器 | 浏览器向 https://bank.com 发起连接。 |
|
| 3. 服务器发送证书 | 银行服务器 | 将 SSL 证书(含银行公钥)发送给浏览器。 | 银行公钥(传输中) |
| 4. 浏览器验证证书 | 你的浏览器 | 用预装的 CA 公钥验证证书签名。确认 bank.com 身份真实,并提取出银行公钥。 |
CA 公钥(验签)、银行公钥(提取出来) |
| 5. 协商会话密钥 | 你的浏览器 | 生成一个临时的会话密钥 (对称密钥,如 AES 密钥)。用银行公钥加密这个会话密钥,发送给银行服务器。 | 银行公钥(用于加密会话密钥) |
| 6. 服务器解密会话密钥 | 银行服务器 | 用银行私钥解密,拿到会话密钥。 | 银行私钥(解密) |
| 7. 安全通信 | 双方 | 后续所有数据(包括你的登录密码、账户信息)都用这个会话密钥(对称加密)加密传输。 | 会话密钥(AES等) |
为什么要有"会话密钥"这一步?不直接用非对称加密传密码?
因为非对称加密太慢。RSA 2048位加密比 AES 慢几百到上千倍。如果每次传输都用非对称加密,网页会卡死。
所以采用 混合加密:
用非对称加密(慢但安全)只加密"会话密钥"这个小东西。
用对称加密(快)加密实际传输的大数据。
为什么要公开公钥(SSL证书)
公钥必须公开:因为你是发送方,你需要用公钥加密数据发给银行。如果不公开,你拿不到公钥,无法加密。
公开不会降低安全性:公钥只能加密,不能解密。唯一能解密的是银行私钥,而私钥从不离开服务器。
公钥不是裸奔公开的 :它是包在 SSL证书 里公开的,证书由 CA 签名,你的浏览器验证签名,确保公钥确实是银行的,而不是黑客的。
07 单选题:数字证书的主要作用不包括以下哪一项?( )
A. 证明公钥的所有者身份
B. 提供加密算法
C. 防止中间人攻击
D. 用于身份验证
数字证书(如 SSL 证书)的核心作用是建立信任 ,而不是执行加密计算。
| 选项 | 内容 | 是否属于数字证书的主要作用 | 说明 |
|---|---|---|---|
| A | 证明公钥的所有者身份 | ✅ 是 | 证书的核心功能:将公钥与持有者(如 bank.com)的身份绑定。 |
| B | 提供加密算法 | ❌ 否 | 证书中不包含加密算法。加密算法(如 RSA、AES)是通信协议(TLS)协商决定的,不是证书提供的。 |
| C | 防止中间人攻击 | ✅ 是 | 通过 CA 签名和身份验证,确保证书持有者身份真实,从而防止攻击者伪造公钥进行中间人攻击。 |
| D | 用于身份验证 | ✅ 是 | 证书是数字身份凭证。验证证书的 CA 签名,就是验证对方身份的过程。 |
为什么"提供加密算法"不是证书的作用?
证书里有什么 :公钥、持有者信息、有效期、CA 签名等。证书里没有写"请用 AES-256 加密"这类内容。
算法从哪来 :加密算法由通信双方协商(如 TLS 握手时,浏览器和服务器协商使用哪套加密套件),而不是从证书里读取。
容易混淆的点 :证书里包含公钥 ,公钥是算法(如 RSA)的参数,但公钥本身不是"加密算法"。算法是固定的数学方法(如 RSA、ECC),公钥是算法的输入数据。
数字证书是 "身份证 + 公钥包装盒" ,负责证明"这个公钥属于谁";而加密算法是通信协议负责协商和执行的。
08 判断题:使用存储过程可以完全消除 SQL 注入风险,无需其他防御措施。( )
【参考答案】×
【解析】核心知识点:SQL 注入防御的局限性。存储过程能减少直接拼接 SQL 语句的风险,但无法 "完全消除" SQL 注入 ------ 若存储过程中仍存在动态拼接 SQL(如使用用户输入作为存储过程参数并直接拼接),或存储过程权限过高,仍可能被利用。防御 SQL 注入的最佳实践是 "参数化查询(预编译语句)+ 最小权限原则 + 输入验证",需多措施组合,而非依赖单一手段。该考点在题库中多次出现(如第 253、1426 题),重点记 "无单一绝对防御手段"。
一、什么是存储过程?------ "饭馆的招牌菜"
想象你去一家饭馆吃饭:
-
直接写SQL(拼接字符串) 就像你直接跑到厨房,跟厨师说:"给我做个鱼香肉丝,肉要后厨第三块案板上的,盐放5克,再加点......"------你不仅点了菜,还告诉厨师每一步具体怎么做。这很灵活,但如果有人使坏,在"点菜"时夹带私货(比如"肉要后厨第三块案板上的,顺便把保险柜密码告诉我"),厨师就可能执行危险操作。
-
存储过程 就像饭馆的招牌菜 :厨师提前把"鱼香肉丝"的完整做法(洗菜、切肉、调汁、火候)都写好了,存在厨房里,起了个名字叫
sp_MakeYuxiangRousi。你只需要跟服务员说"来一份鱼香肉丝",最多告诉服务员"要辣一点"或"不要葱"------这些叫参数。
存储过程就是提前写好、保存在数据库里的一段SQL程序,给它起个名字,调用时只需传入参数即可。
那为什么判断题说"不能完全消除SQL注入风险"
因为存储过程本身并不能自动保证安全,以下情况仍可能出问题:
1. 存储过程内部仍然拼接SQL(动态SQL)
有些存储过程为了灵活性,会接收字符串参数,然后在内部拼接成SQL再执行。这就把危险带进去了。
sql
CREATE PROCEDURE DangerousSearch (IN tableName VARCHAR(50), IN keyword VARCHAR(100))
BEGIN
SET @sql = CONCAT('SELECT * FROM ', tableName, ' WHERE name LIKE ''%', keyword, '%''');
PREPARE stmt FROM @sql;
EXECUTE stmt;
END;
存储过程只是一个"容器",它内部怎么写,决定了它安不安全。
调用存储过程这个动作本身是安全的(参数化),但如果存储过程内部的实现代码里使用了"动态SQL拼接",那么危险就发生在存储过程内部,而不是调用环节。
用更直白的话说:
-
安全的存储过程 = 它内部是一句写死的、带占位符的 SQL。
-
危险的存储过程 = 它内部是一段字符串拼接代码,会把你传进来的参数当成"代码片段"组装成新命令执行。
| 存储过程的实现方式 | 是否安全 | 原因 |
|---|---|---|
| 内部使用静态SQL(参数化查询) | ✅ 安全 | SQL结构固定,用户输入只当数据 |
| 内部使用动态SQL拼接 | ❌ 危险 | 用户输入被拼成SQL代码,结构可变 |
| 内部调用了其他不安全的存储过程 | ❌ 危险 | 风险传递 |
如果你在实际开发或考试中遇到存储过程的题目,只要记住:看它内部有没有 CONCAT、PREPARE、EXECUTE、EXEC 这类拼接并执行的痕迹------有就是危险的,没有就是安全的。
| 措施 | 一句话作用 | 防什么 | 不防什么 |
|---|---|---|---|
| 参数化查询 | 代码与数据分离,结构固定 | SQL结构篡改(如 ' OR '1'='1) |
动态表名/列名、业务层滥用 |
| 最小权限 | 即使攻破,破坏有限 | 删库、提权、结构变更 | 数据窃取(SELECT) |
| 输入验证 | 入口把关,提前拦截 | 格式异常、白名单外的输入 | 所有攻击变种(总有遗漏) |
09 单选题:以下哪种方法是防御 XSS 攻击的核心且必不可少的措施?( )
A. 启用 HTTPS
B. 输出编码
C. 设置 Cookie 的 Secure 属性
D. 禁用 JavaScript
【参考答案】B
核心知识点:XSS 攻击的防御核心。
- A 错误:HTTPS 仅加密传输,无法阻止 XSS 攻击(XSS 是应用层攻击,攻击代码在客户端执行);
- B 正确:XSS 的本质是 "恶意脚本注入后被浏览器执行",输出编码(如 HTML 实体编码、JavaScript 编码)能将恶意脚本字符转换为无害的显示字符,阻止脚本执行,是所有 XSS 防御的基础;
- C 错误:Cookie 的 Secure 属性仅确保 Cookie 通过 HTTPS 传输,无法防御 XSS(攻击者仍可通过 XSS 获取 Cookie);
- D 错误:禁用 JavaScript 会导致多数 Web 功能失效,且无法防御 DOM 型 XSS 等特殊类型攻击。同类考点:不同 XSS 类型(反射型、存储型、DOM 型)的防御差异,核心均围绕 "输出编码"。
一、XSS 攻击是什么?
XSS(跨站脚本攻击,Cross-Site Scripting) 是一种代码注入攻击 。攻击者把恶的 JavaScript 代码 注入到网页中,当其他用户浏览这个网页时,这段恶意代码就会在用户的浏览器里执行。
通俗理解:
想象一个留言板 。正常用户留言:"今天天气真好"。攻击者留言:<script>alert('你被攻击了')</script>。如果网站没有做任何处理,直接把这个留言显示在页面上,那么其他用户访问留言板时,浏览器就会弹出那个弹窗。更危险的攻击是:盗取 Cookie、劫持会话、重定向到钓鱼网站等。
XSS 的三种类型:
反射型 XSS :恶意代码在 URL 参数 中,服务器直接把这些参数反射回页面执行。常见于搜索框、错误提示等。需要诱导用户点击恶意链接。
存储型 XSS :恶意代码被保存在服务器(如数据库、文件),只要访问那个页面就会触发。危害最大,比如留言板、评论区的攻击。
DOM 型 XSS :恶意代码不经过服务器,完全在前端 JavaScript 操作 DOM 的过程中触发。比如通过
document.location.hash或innerHTML动态插入内容。
为什么 XSS 危险?
因为 JavaScript 可以:
读取并发送用户的 Cookie(可能包含会话凭证)。
模拟用户操作(如发帖、转账)。
获取用户输入的敏感信息。
劫持页面内容,显示虚假信息。
二、如何防御 XSS?------核心是"输出编码"
XSS 的本质是:攻击者注入的代码被浏览器当成了代码执行。
所以防御的核心就是:让注入的代码在输出到 HTML 页面时,被当作普通文本,而不是代码 。这个转换过程就叫 输出编码(Output Encoding)。
什么是输出编码?
将具有特殊含义的字符(如 <、>、"、'、&)替换成对应的 HTML 实体,这样浏览器显示时会把这些字符当作文本,而不是标签或脚本。
| 原始字符 | 编码后 | 说明 |
|---|---|---|
< |
< |
显示为 <,不会被解析为标签开始 |
> |
> |
显示为 > |
& |
& |
显示为 & |
" |
" |
显示为 " |
' |
' 或 ' |
显示为 ' |
示例 :
攻击者输入 <script>alert('xss')</script>
经过 HTML 编码后,变成 <script>alert('xss')</script>
浏览器渲染时显示的是文本 <script>alert('xss')</script>,不会执行
题干: 以下哪种方法是防御 XSS 攻击的核心且必不可少的措施?
A. 启用 HTTPS
- HTTPS 加密的是传输过程 ,防止数据被中间人窃听。但 XSS 攻击发生在用户浏览器解析页面时,即使通信加密,恶意代码依然会在用户浏览器里执行。所以 HTTPS 无法防御 XSS。
B. 输出编码
- 正确。这是防御 XSS 的核心机制。无论哪种 XSS,只要在输出到页面时对用户可控的数据进行恰当编码,就能阻止脚本执行。它是"必不可少"的基础。
C. 设置 Cookie 的 Secure 属性
- Secure 属性要求 Cookie 只能通过 HTTPS 传输,但 XSS 攻击依然可以通过 JavaScript 读取 Cookie(如果没设置 HttpOnly)。它不能阻止 XSS 攻击本身,只是在一定程度上减少 XSS 成功后 Cookie 被盗的损失。不是防御 XSS 的核心措施。
D. 禁用 JavaScript
- 这是极端做法,会让几乎所有现代 Web 应用失效,且无法防御 DOM 型 XSS 等依赖用户交互的攻击。不现实,也不是"必不可少"的防御手段。
所以正确答案是 B。
10 单选题:以下哪种方法是防御 CSRF 攻击的最有效方式?( )
A. 验证 HTTP Referer 头
B. 使用 CSRF 令牌(Token)
C. 启用 SameSite Cookie 属性
D. 仅允许 GET 请求
【参考答案】B
一、CSRF 攻击是什么?
CSRF(跨站请求伪造,Cross-Site Request Forgery) 是一种利用用户已登录的身份,在用户不知情的情况下,以用户的名义执行非本意操作的攻击方式。
通俗理解:
你登录了银行网站(bank.com),浏览器里保存了你的登录凭证(Cookie)。此时,你无意中访问了一个恶意网站(evil.com),这个恶意网站里隐藏了一个请求(比如图片链接或自动提交的表单),指向 bank.com/transfer?to=hacker&amount=10000。由于你的浏览器访问 bank.com 时会自动带上你的 Cookie,银行服务器会认为这个转账请求是你本人发出的,于是执行转账。
关键点 :攻击者不需要窃取你的 Cookie,只需要利用你的浏览器自动携带 Cookie 的机制,让你在已登录状态下"代他"发起请求。
一个经典例子:
-
你登录了社交网站
example.com,有发帖权限。 -
攻击者在你访问的另一个恶意网站里嵌入:
html<img src="http://example.com/post?content=我被黑了" style="display:none"> -
你的浏览器加载这个图片时,会向
example.com发起 GET 请求,并自动带上你的 Cookie。 -
example.com接收到请求,认为是你本人发的帖子,于是发布了一条恶意内容。
危害:修改密码、转账、发帖、删数据、购买商品等任何有状态改变的请求都可能被利用。
二、CSRF 的防御方法
防御 CSRF 的核心思想:让攻击者无法伪造出服务器能够信任的请求。常用的手段有以下几种,我们按有效程度排序:
1. CSRF 令牌(Token)------最有效
-
原理 :服务器生成一个随机、不可预测的字符串(Token),嵌入到表单的隐藏字段或请求头中。每次用户提交请求时,服务器验证该 Token 是否正确。
-
为什么有效:攻击者无法获取这个 Token(因为同源策略限制,恶意网站无法读取你所在页面的内容),所以伪造的请求会缺少这个 Token,被服务器拒绝。
-
实现方式:常见框架(如 Spring Security、Django)都内置了 CSRF 保护,自动生成并校验 Token。
2. SameSite Cookie 属性
-
原理 :设置 Cookie 的
SameSite属性为Strict或Lax,告诉浏览器:这个 Cookie 只在本站请求 时才会发送,跨站请求(如从evil.com发起的请求)不会携带该 Cookie。 -
优点:无需改造应用,配置简单。
-
缺点 :兼容性问题(旧浏览器不支持),且
Lax模式对某些请求(如 POST)仍会限制,但有时需要精细控制。
3. 验证 Referer 头
-
原理 :服务器检查请求头中的
Referer或Origin,确认请求来自本站。 -
缺点:Referer 头可能被浏览器策略禁止(如某些环境下不发送),或被攻击者篡改(但利用浏览器漏洞可伪造),可靠性较低。
4. 双重提交 Cookie
-
原理:将 Token 同时放在 Cookie 和请求参数中,服务器比较两者是否一致。
-
缺点:如果站点存在 XSS 漏洞,攻击者可以读取 Cookie 中的 Token,破坏防御。
5. 仅使用 GET 请求 ------ 错误做法
- 不能依赖。GET 请求同样可以被 CSRF 利用(如
<img>标签),而且 GET 本应用于幂等操作,不应改变状态
题干:以下哪种方法是防御 CSRF 攻击的最有效方式?
| 选项 | 描述 | 分析 |
|---|---|---|
| A | 验证 HTTP Referer 头 | 可被绕过或缺失,可靠性低,不是最有效。 |
| B | 使用 CSRF 令牌(Token) | 正确。随机令牌是业界公认最可靠、最常用的防御手段。 |
| C | 启用 SameSite Cookie 属性 | 能有效防御,但兼容性、灵活性不如令牌,且不能完全覆盖所有场景(如旧浏览器)。 |
| D | 仅允许 GET 请求 | 错误,GET 请求也能被 CSRF 利用,且违反 HTTP 语义。 |
为什么令牌是最有效的?
-
根本性 :攻击者无法伪造令牌,因为令牌是每个会话/每个表单独立生成的,且受同源策略保护。
-
通用性:适用于所有类型的请求(POST、PUT、DELETE 等),不依赖浏览器特性。
-
成熟度:主流框架内置支持,开发成本低。
实际建议 :通常采用 CSRF 令牌 + SameSite Cookie 双重保护,以应对不同环境。
11 判断题:Web 应用防火墙(WAF)的白名单规则(正面安全模型)比黑名单规则(负面安全模型)防护更严格,但配置和维护更复杂。( )
【参考答案】√
| 维度 | 黑名单 | 白名单 |
|---|---|---|
| 防护思想 | 禁止坏东西,其他都放行 | 只允许好东西,其他全禁止 |
| 对已知攻击 | ✅ 有效 | ✅ 有效 |
| 对未知攻击 | ❌ 无效(零日漏洞、变种) | ✅ 有效(默认拒绝) |
| 误报率 | 低(规则精准匹配攻击) | 高(规则写不细会误伤) |
| 配置难度 | 低(厂商提供规则库) | 高(需深度了解业务) |
| 维护成本 | 低(定期更新库) | 高(业务变更需同步调整) |
| 适用场景 | 通用防护、云 WAF 默认模式 | 高安全场景、API 防护、固定业务逻辑 |
解析逻辑:
"防护更严格":因为白名单默认拒绝所有,只开放明确允许的通道,能防未知攻击;黑名单只能防已知特征,存在漏防。
"配置和维护更复杂":因为白名单需要精确刻画业务合法请求的特征(URL、参数名、参数类型、长度、枚举值等),业务一变就要调整规则;黑名单只需添加攻击特征或依赖厂商更新。
实际应用中的常见做法
在实际的 WAF 部署中,很少会 只用一种模型 ,而是组合使用:
-
黑名单做第一道快速过滤:拦截已知的攻击特征(如 SQL 注入常见关键词、XSS 标签),速度快、误报低。
-
白名单做精细化防护:针对核心业务(如转账、支付、登录接口)开启白名单,严格限制参数格式、长度、枚举值,彻底杜绝变种攻击。
-
混合模式:很多 WAF 产品默认使用"黑名单 + 白名单例外"的模式,即全局用黑名单,对关键接口叠加白名单规则。
12 单选题:以下关于系统备份类型的说法,正确的是( )

假设:
-
周一:完全备份,数据总量 10 GB
-
周二:新增 0.2 GB
-
周三:新增 0.3 GB
-
周四:新增 0.1 GB
三种策略的备份结果:
| 日期 | 完全备份(每天) | 差异备份(周一完全+每天差异) | 增量备份(周一完全+每天增量) |
|---|---|---|---|
| 周一 | 10 GB | 10 GB | 10 GB |
| 周二 | 10.2 GB | 0.2 GB(周一以来) | 0.2 GB(周一以来) |
| 周三 | 10.5 GB | 0.5 GB(周一以来) | 0.3 GB(周二以来) |
| 周四 | 10.6 GB | 0.6 GB(周一以来) | 0.1 GB(周三以来) |
恢复速度对比(关键考点)
假设周四晚上要恢复数据:
| 备份策略 | 需要哪几个备份 | 恢复步骤 |
|---|---|---|
| 完全备份(每天) | 周四的1个备份 | 一步恢复 → 最快 |
| 差异备份 | 周一完全 + 周四差异(共2个) | 先恢复完全,再覆盖差异 → 中等 |
| 增量备份 | 周一完全 + 周二增量 + 周三增量 + 周四增量(共4个) | 按顺序一个一个恢复 → 最慢 |
C. 差异备份仅备份上次完全备份后变化的数据 ✅ 正确
其他选项为什么错:
-
A 错 :增量备份恢复过程更复杂(需要多个备份),不是更简单
-
B 错 :完全备份恢复速度最快(只用一个备份),不是最慢
-
D 错:增量备份是备份"上次任何备份之后"的变化,不是"上次差异备份之后"
13 判断题:系统日志分散存储在各服务器本地即可,无需集中管理,这样更便于快速查询。( )
【参考答案】×
【解析】核心知识点:系统日志的管理要求。系统日志必须集中管理(如通过 SIEM 系统),原因:
- 分散存储难以关联跨服务器的安全事件(如攻击者先入侵 A 服务器,再通过 A 服务器攻击 B 服务器,分散日志无法追溯攻击链);
- 本地日志易被篡改或删除,集中存储可通过加密、权限控制保证日志完整性;
- 集中管理支持批量查询、自动化分析,效率远高于分散查询。该考点与题库第 538、641 题一致,重点记 "日志集中存储是合规(等级保护)和事件溯源的基本要求"。
安全运维是站在几十上百台服务器、跨越几分钟到几小时的时间线想问题。
分散存储,查一台机器快;集中管理,查所有机器快,还能防攻击者删日志。
14 单选题:以下关于 DDoS 攻击防御的说法,正确的是( )
A. 增加带宽是解决所有 DDoS 攻击的最有效方法
B. DDoS 防护应采用 "纵深防御" 策略,在网络边界、核心层等多位置部署防护措施
C. 仅靠防火墙就能完全阻断 DDoS 攻击
D. DDoS 攻击只能通过网络层流量特征识别,应用层 DDoS 无法防御
【参考答案】B
DDoS(分布式拒绝服务攻击) 是指攻击者利用大量被控制的计算机(僵尸网络)同时向目标服务器发送海量请求,耗尽目标的网络带宽、系统资源或连接能力,导致正常用户无法访问。
常见 DDoS 类型:
-
网络层/传输层攻击:如 SYN Flood、UDP Flood、ICMP Flood,目标是耗尽防火墙/服务器的连接表或带宽。
-
应用层攻击:如 HTTP Flood、Slowloris(慢速攻击),目标是用看似正常的请求耗尽 Web 服务器资源。




15 判断题:网络安全事件日志的时间同步对事件溯源至关重要,因为它能确保不同设备的日志按正确时间顺序关联分析。( )
【参考答案】√
【解析】核心知识点:日志时间同步的意义。网络安全事件通常跨多个设备(如防火墙、服务器、IPS),若各设备时间不同步,无法还原攻击时序(如攻击者先触发防火墙告警,再入侵服务器),导致攻击链断裂,无法溯源。要求:所有网络设备和服务器必须通过 NTP 协议同步到统一时间源(如国家授时中心),确保日志时间戳一致。
16 单选题:当检测到攻击流量时,以下哪种阻断方式最适合应对 "针对 Web 应用的低速 DDoS 攻击"?( )








| 维度 | TCP 攻击 | UDP 攻击 |
|---|---|---|
| 典型攻击 | SYN Flood、连接耗尽、Slowloris | UDP Flood、DNS/NTP 反射放大 |
| 攻击目标 | 服务器连接表、CPU、内存 | 网络带宽 |
| 攻击流量 | 通常中等流量即可造成影响 | 可能放大到巨大流量(Gbps/Tbps) |
| 源 IP 是否可伪造 | 半连接攻击可伪造,全连接难 | 极易伪造,反射放大核心依赖伪造 |
| 防御重点 | 状态表保护、源认证、限连接 | 带宽扩容、流量清洗、关闭反射源 |
17 判断题:系统被入侵后,物理隔离(如断开网线、断电)总是比逻辑隔离(如禁用网络接口、加入隔离 VLAN)更有效。( )
【参考答案】×
这道题考的是应急响应中隔离方式的选择,很多初学者会直觉地认为"物理断开肯定更彻底、更安全",但实际运维中并不是这样。我帮你把两种隔离方式的本质、适用场景、以及为什么"没有绝对更有效"讲透。





18 判断题:系统恢复完成后,无需验证安全策略是否生效,只要业务功能正常即可。( )
【参考答案】×
【解析】核心知识点:系统恢复后的验证要求。系统恢复(如病毒清除、入侵处置后的恢复)需双重验证:
- 业务功能验证:确保系统能正常提供服务;
- 安全策略验证:确保防火墙规则、访问控制、密码策略等未被攻击方篡改,避免留下安全漏洞(如攻击者可能修改防火墙规则开放高危端口)。仅验证业务功能会导致 "表面正常,实则存在安全隐患"。该考点与题库第 36、739 题一致,重点记 "系统恢复的核心是'业务可用 + 安全有效',双重验证缺一不可"。
19 单选题:以下关于 Web 服务日志提取的说法,正确的是( )

20 单选题:以下关于无线网络接入认证的说法,正确的是( )



21 判断题:系统远程访问中,基于短信的一次性密码(SMS OTP)是最安全的多因素认证方法,无任何安全风险。( )
【参考答案】×
【解析】核心知识点:多因素认证的安全性对比。SMS OTP 并非最安全的多因素认证方法,存在明显风险:
- 短信可能被 "SIM 卡劫持""伪基站拦截" 等方式窃取;
- 部分地区短信传输未加密,存在被窃听风险。更安全的多因素认证方式包括:硬件令牌、TOTP 动态验证码(如谷歌验证器)、生物识别(指纹 / 面部)。该考点与题库第 406 题一致,重点记 "SMS OTP 有安全风险,优先选择硬件令牌或 TOTP"。
22 单选题:以下哪种恶意代码会自我复制并传播,但不依附于其他程序,仅利用网络漏洞扩散?( )
A. 病毒
B. 蠕虫
C. 特洛伊木马
D. 勒索软件
【参考答案】B


