Web 应用安全基础(注入/XSS/CSRF/SSRF)

共 19 题
#

1. SQL 注入的成因与危害是什么,为什么参数化查询/预编译语句能从根上防御而字符串拼接不能?

A 参数化查询通过过滤输入中的特殊字符来防止注入
B 预编译语句在绑定参数前已固定 SQL 结构,参数按数据而非语法处理 ✓ 正确答案
C 字符串拼接只要转义单引号就能彻底防御 SQL 注入
D 只有存储过程才能防止 SQL 注入
#

2. XSS 的存储型、反射型、DOM 型三类有何差异,输出编码、CSP 与 HttpOnly 分别防御哪一类?

A 输出编码能防御存储型与反射型 XSS,HttpOnly 专门防止 XSS 窃取会话 Cookie ✓ 正确答案
B CSP 只能防御存储型 XSS
C DOM 型 XSS 需要经过服务器才能触发
D HttpOnly 能让所有 XSS 失效
#

3. CSRF 攻击的利用条件是什么,CSRF Token、SameSite Cookie、双重提交 Cookie 三种防御的机制与局限?

A CSRF 需要攻击者拿到受害者的 Cookie 值
B CSRF Token 需要持久化存储在浏览器本地
C SameSite Cookie 由浏览器强制跨站请求的 Cookie 携带策略,可缓解大部分 CSRF ✓ 正确答案
D 双重提交 Cookie 完全无法被绕过
#

4. SSRF 攻击为什么危险,服务端如何被利用访问内网,URL 白名单、DNS 重绑定防护与出网限制如何落地?

A SSRF 只能攻击外网,无法触及内网
B DNS 重绑定攻击通过在解析校验与连接之间切换 IP 绕过校验 ✓ 正确答案
C URL 白名单校验发生在连接之后即可彻底防御
D 出网限制无法阻止 SSRF 访问内网
#

5. 越权(IDOR/BOLA)为何属于"失效的访问控制",水平越权与垂直越权的区别,最小权限如何系统化落地?

A 对象级授权校验是把"当前用户是否有权访问该对象"作为服务端强制检查 ✓ 正确答案
B 水平越权是低权限用户使用高权限功能
C IDOR 只改动前端界面即可防御
D 最小权限原则无法在对象粒度落地
#

6. 为什么 HTTPS 无法防御 XSS/CSRF,TLS 保护传输机密性,应用层信任边界问题如何仍然存在?

A 部署 HTTPS 后所有 Web 安全漏洞自动消失
B TLS 只保护传输层的机密性与完整性,XSS/CSRF 是应用层信任边界问题 ✓ 正确答案
C XSS 攻击发生在 TLS 解密之前
D CSRF 由传输层加密导致
#

7. 文件上传漏洞有哪些绕过方式(扩展名、MIME、内容头、双扩展名),白名单校验加存储隔离如何防御?

A 只校验扩展名黑名单即可防止文件上传攻击
B 双扩展名利用解析器对多扩展名的处理特性触发代码执行 ✓ 正确答案
C 伪造 MIME 类型只影响服务器端
D 存储到 Web 可执行目录是安全的做法
#

8. 命令注入与代码注入(RCE)的利用与防御差异,白名单命令、参数化与最小权限如何组合使用?

A 命令注入与代码注入都注入到 shell 解释器
B 参数化执行与入口白名单消除注入点,最小权限限制注入后的危害 ✓ 正确答案
C 最小权限能够阻止注入本身发生
D 命令注入只能通过过滤特殊字符防御
#

9. 反序列化漏洞为何可导致远程代码执行,Java/Python 的常见攻击面与"不反序列化不可信数据"原则?

A Python pickle 的 __reduce__ 可指定任意可调用对象实现代码执行 ✓ 正确答案
B 反序列化只影响数据,不会执行代码
C 加解密反序列化数据与安全无关
D 反序列化漏洞只存在于 Java
#

10. 开放重定向与点击劫持(Clickjacking)的利用方式,X-Frame-Options/CSP frame-ancestors 如何防御?

A X-Frame-Options 用于禁用页面所有脚本
B 点击劫持需要借助服务端代码执行
C 开放重定向只需要客户端校验
D CSP frame-ancestors 限制当前页面可被哪些来源嵌入 iframe ✓ 正确答案
#

11. 会话固定攻击的原理,为什么登录后应更换会话 ID,Session 与 Cookie 属性如何配合加固?

A 会话固定攻击前提是攻击者窃取受害者的 Cookie
B 会话固定攻击不需要受害者登录
C HttpOnly 属性专门防会话固定
D 登录成功后更换会话 ID 让攻击者预置的 ID 失效 ✓ 正确答案
#

12. 安全响应头(CSP、HSTS、X-Content-Type-Options、Referrer-Policy)各自防护什么风险?

A HSTS 用于防止浏览器执行内联脚本
B Referrer-Policy 控制 Cookie 的携带
C CSP 强制浏览器使用 HTTPS
D X-Content-Type-Options: nosniff 禁止浏览器对响应做 MIME 嗅探 ✓ 正确答案
#

13. 目录穿越(Path Traversal)漏洞如何读取任意文件,为什么必须对路径做规范化后再校验?

A 直接对原始路径字符串做前缀校验即可防御目录穿越
B 规范化后再校验能消除 ../、编码与符号链接造成的路径差异 ✓ 正确答案
C 目录穿越只能读取文件,不影响系统
D URL 编码无法绕过路径校验
#

14. 为什么客户端校验不可信,前端校验、服务端校验与数据库约束三层各防御什么,纵深防御如何组织?

A 前端校验通过即可信任用户输入
B 数据库约束可以替代服务端校验
C 服务端校验是真正的安全边界,前端校验仅用于体验优化 ✓ 正确答案
D 纵深防御只需在某一层实现即可
#

15. 业务逻辑漏洞,越权批量操作、优惠重放、验证码绕过等逻辑缺陷为何难以被自动化扫描发现,测试与审计如何覆盖?

A 业务逻辑漏洞可以通过自动化扫描工具稳定发现
B 优惠重放是指攻击者注入 SQL
C 业务逻辑漏洞依赖业务语义,难以被通用签名扫描识别 ✓ 正确答案
D 逻辑漏洞与业务规则无关
#

16. 信息泄露与错误处理,调试信息、堆栈、版本号与敏感字段在响应中泄露的路径,统一错误响应与日志分级如何落地?

A 生产环境应保持 debug 模式便于排障
B 版本号泄露对安全没有影响
C 日志中记录明文密码是正常的
D 统一错误响应对外只返回通用信息,避免泄露堆栈与版本 ✓ 正确答案
#

17. 认证与会话管理的组合,登录限流、验证码、密码策略与会话失效如何组合,防止暴力破解与会话劫持?

A 会话劫持与 Cookie 属性无关
B 密码明文存储配合强策略即可保证安全
C 会话 ID 无需在登录后更换
D 登录限流与验证码主要用于拖慢暴力的自动化攻击 ✓ 正确答案
#

18. 重放攻击与幂等,支付、下单等敏感操作如何用 nonce/时间戳/一次性令牌防重放,与接口幂等设计的关系如何?

A nonce 的作用是让服务端拒绝重复使用过的请求 ✓ 正确答案
B 幂等设计会使重复请求产生副作用
C 时间戳防重放与窗口无关
D 重放攻击就是 SQL 注入
#

19. 身份认证的常见薄弱点,弱口令、凭证复用、暴力破解与撞库,多因素认证(MFA)为何是底线措施?

A 撞库是暴力破解的一种,与你密码是否强度高无关
B MFA 即使口令泄露,攻击者仍缺少第二因子无法认证 ✓ 正确答案
C 弱口令只要加长就彻底安全
D 凭证复用不会导致跨站风险