# 1. CSRF 原理与防御(CSRF Token/双重提交 Cookie/SameSite 协同) A CSRF Token 存储在客户端 LocalStorage 中即可完全杜绝攻击 B CSRF 攻击是因为浏览器自动携带 Cookie,防御核心是让攻击者无法预测或读取请求中的秘密 ✓ 正确答案 C SameSite=None 可以完全防御 CSRF,无需其他手段 D CSRF 与 XSS 是同一类攻击,防御方案完全相同
# 2. OWASP Top 10 风险的工程理解 A 它是一份基于广泛观测的 Web 应用安全风险清单,用于指导安全检查与防御 ✓ 正确答案 B OWASP Top 10 是法律规定的强制合规标准 C 只有最新版本最重要的风险,旧版本风险已全部消失 D 只要数据库使用预编译即可消除所有 OWASP 风险
# 3. SQL 注入的预编译(PreparedStatement) A 对用户输入做单引号转义即可 100% 防御 SQL 注入 B MyBatis 的 ${} 与 #{} 都走预编译,同样安全 C SQL 注入只影响数据库,不影响应用服务器 D PreparedStatement 通过把用户输入作为参数绑定、由数据库当作数据解析,从而防止注入 ✓ 正确答案
# 4. Spring Security 的 BCryptPasswordEncoder(自适应哈希)在密码存储的工程价值 A BCrypt 内置随机盐,且代价因子可调,能有效抵抗彩虹表与暴力破解 ✓ 正确答案 B BCrypt 每次加密相同密码得到相同结果,便于数据库比对 C BCrypt 不需要盐,因为输出自带版本信息 D BCrypt 与 MD5 一样是快速哈希,主要靠长密码抵抗破解
# 5. XSS 的防御(CSP/HttpOnly Cookie/输出编码) A 只要设置 CSP 就能完全防御所有类型的 XSS,无需输出编码 B HttpOnly 标志可阻止 JS 读取会话 Cookie,配合输出编码与 CSP 形成纵深防御 ✓ 正确答案 C 输出编码只对反射型 XSS 有效,对存储型无效 D HttpOnly 标志能阻止浏览器执行任何注入脚本
# 6. XSS(Cross-Site Scripting) A DOM 型 XSS 一定会经过服务端处理才触发 B 存储型 XSS 将恶意脚本持久化到数据库,所有访问用户都会触发,危害最大 ✓ 正确答案 C 反射型 XSS 的脚本会永久保存在服务器上 D 三种 XSS 的防御方案完全相同,且都无需考虑注入上下文
# 7. CORS(跨域资源共享)的 Spring CorsConfiguration 与 allowedOriginPatterns 的安全边界 A 开启 allowCredentials(true) 后仍可使用通配来源 *,不受限制 B allowedOriginPatterns 支持通配符,且允许凭证时会把匹配到的具体 Origin 回显,而不是返回 * ✓ 正确答案 C CORS 配置能替代服务端鉴权,配置好即可保证接口安全 D CORS 只影响服务端,与浏览器无关
# 8. Java 反序列化漏洞(readObject 利用链、Fastjson/Jackson 多态历史漏洞)与安全配置 A 只要使用 JSON 序列化就绝对安全,无需任何限制 B Fastjson 的 autoType 漏洞只能影响服务端,不影响客户端 C 反序列化只能泄露数据,不能执行任意代码 D 反序列化漏洞的核心是 readObject 或类型多态机制允许攻击者指定类并触发危险调用链 ✓ 正确答案
# 9. Cross-Origin-Opener-Policy/Embedder-Policy 的边界 A COOP 与 COEP 是服务端鉴权机制,能替代认证 B COOP 限制跨源窗口的 opener 引用,COEP 限制跨源资源嵌入,二者配合可启用跨源隔离 ✓ 正确答案 C COEP 的 require-corp 不会影响任何第三方资源加载 D 两者只能单独使用,不能同时配置
# 10. HTTPS 与 HSTS(HTTP Strict Transport Security) A HSTS 只要配置一次就永久生效,无需 max-age B HSTS 是对传输内容进行加密的 TLS 协议本身 C HSTS 能让 IP 直连地址也强制 HTTPS D HSTS 通过响应头告知浏览器在 max-age 内必须使用 HTTPS,从而杜绝降级攻击 ✓ 正确答案
# 11. Permissions-Policy 的权限控制 A Permissions-Policy 与 CSP 作用完全相同,可相互替代 B Permissions-Policy 只能在前端 JS 中设置,不能通过 HTTP 响应头 C Permissions-Policy 能阻止所有跨站脚本执行 D Permissions-Policy 用于控制页面可用的浏览器功能权限,如摄像头、定位、autoplay 等 ✓ 正确答案
# 12. Referrer-Policy 与跨域引用 A strict-origin-when-cross-origin 在跨源时只发送源,且 HTTPS 到 HTTP 不发送,兼顾隐私与功能 ✓ 正确答案 B Referrer-Policy 能阻止服务端主动记录 Referer 头 C 把 token 放入 URL 并通过 Referrer-Policy 就可以完全防止泄露 D no-referrer 会发送完整的 URL 信息给第三方
# 13. SSRF 原理、利用链与 URL 校验/出网白名单防御(协议限制/DNS rebinding 防护) A 禁止重定向是唯一有效的 SSRF 防御手段 B 只要校验了 URL 的 scheme 就能完全防御 SSRF C SSRF 只能攻击公网,无法访问内网 D 防护 DNS rebinding 需要在校验与实际请求之间重新解析并校验,避免域名在两次解析中指向不同 IP ✓ 正确答案
# 14. SameSite 三种取值(Strict/Lax/None)的差异 A Strict 会允许所有跨站请求携带 Cookie B None 不要求 Secure 标志即可使用 C Lax 允许顶层导航的 GET 请求携带 Cookie,而跨站 POST 不携带,是浏览器默认行为 ✓ 正确答案 D SameSite 与 CSRF 防御完全无关
# 15. Strict-Transport-Security(HSTS)的工程价值 A 浏览器收到 HSTS 头后会在 max-age 内强制用 HTTPS 访问该域名,并自动升级 HTTP 请求 ✓ 正确答案 B 开启 includeSubDomains 无需子域支持 HTTPS C HSTS 对 IP 直连地址同样生效 D HSTS 只影响服务器端,浏览器完全不参与
# 16. X-Content-Type-Options: nosniff 的工程价值 A 它允许浏览器任意猜测响应类型 B 它只影响 CSS 文件,不影响 HTML/JS C 它禁止浏览器按 MIME 嗅探解析响应,强制按声明的 Content-Type 处理,防止类型混淆导致脚本执行 ✓ 正确答案 D 它用于禁止页面被 iframe 嵌入
# 17. XXE 与 XML 解析器安全配置(禁用 DTD/外部实体) A XXE 只能造成拒绝服务,无法读取文件 B 只要设置 FEATURE_SECURE_PROCESSING 就能完全防御所有 XXE C 若业务不需要 DTD,直接禁用 DTD 声明,并关闭外部通用/参数实体,可有效防止 XXE ✓ 正确答案 D XXE 攻击只影响 XML 客户端,不影响服务端
# 18. 会话劫持(Session Hijacking)的防护 A 只要设置 HttpOnly 就能完全防止会话劫持 B 会话劫持与网络传输无关,只与 XSS 有关 C 会话 ID 越短越难被猜测,越安全 D 使用 HttpOnly、Secure、SameSite Cookie 并全程 HTTPS,结合会话轮换与指纹绑定可有效降低劫持风险 ✓ 正确答案
# 19. 会话固定(Session Fixation)的攻击路径 A 会话固定攻击需要读取受害者的 Cookie 值 B 认证成功后保持原会话 ID 是安全的做法 C 攻击者预置一个已知会话 ID 诱导受害者登录,服务端若不在认证后更换 ID 即可被劫持 ✓ 正确答案 D 会话固定攻击与 XSS 攻击完全无关
# 20. 密码安全(bcrypt/argon2)的工程实现 A 应使用带盐的慢哈希(BCrypt/Argon2),并用常量时间比较校验,支持算法升级 ✓ 正确答案 B MD5 加盐后即可安全存储密码 C 密码校验直接比较数据库中的哈希字符串即可 D 密码哈希需要能还原明文以便客服查看
# 21. 开放重定向(Open Redirect)的边界 A 开放重定向只影响用户,不影响系统安全 B 只要重定向目标以 http:// 开头就安全 C 使用协议相对 URL // 是安全的跳转方式 D 应精确解析 URL 的 host 并做白名单校验,不能简单用前缀匹配判断可信域名 ✓ 正确答案
# 22. 文件上传安全(类型嗅探、存储隔离、路径穿越)与 MultipartFile 的安全校验 A 应同时校验扩展名白名单与文件内容魔数,存到 Web 目录外并用随机文件名,防范路径穿越 ✓ 正确答案 B 只需信任上传的 Content-Type 即可保证安全 C 用户原始文件名可以安全用于存储路径 D 文件上传不会引发代码执行或 XSS 风险
# 23. 水平越权与垂直越权(IDOR)及数据权限控制(行级/列级权限) A 水平越权只需前端隐藏按钮即可防御 B 水平越权是访问同等级他用户资源,垂直越权是访问高权限功能,均需服务端做对象级或功能级授权 ✓ 正确答案 C 垂直越权与角色无关,只要登录即可 D 两者是同一种漏洞,防御方式完全相同
# 24. 点击劫持(Clickjacking)与 X-Frame-Options A X-Frame-Options: SAMEORIGIN 允许任何网站嵌入页面 B 点击劫持需要读取受害者的 Cookie C 点击劫持通过透明 iframe 诱导用户误操作,X-Frame-Options: DENY 可禁止页面被嵌入 ✓ 正确答案 D CSP 的 frame-ancestors 会主动禁止页面跨域导航