Session 固定攻击与 Session 劫持分别怎么发生,登录成功后为什么要重新生成 Session ID?
本文区分 Session 固定攻击与劫持的路径差异,解释为什么登录成功后必须重新生成 Session ID,并给出具体场景与边界条件。
安全专题面试题第 4 页,显示第 151–200 题,共找到 336 道完整解析,可继续按分类、标签与关键词缩小范围。
按稳定语义路径排序
本文区分 Session 固定攻击与劫持的路径差异,解释为什么登录成功后必须重新生成 Session ID,并给出具体场景与边界条件。
围绕“服务端 Session 的绝对超时与滑动(空闲)超时应该怎么设,为什么只设滑动超时不够”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须区分两类超时的安全语义并说明长期会话被劫持的风险。
从状态存储位置、水平扩展、主动登出三个维度对比 Session 与 JWT 认证方式,并给出具体场景与选型判断。
围绕“单点登录场景下如何实现单点登出,为什么只清本地 Session 不等于真正登出”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须讲清 IdP 会话与各 RP 会话的联动及前/后端通道登出的差异。
围绕“为什么多租户系统要在请求进入时建立租户上下文并强制所有查询携带 tenant_id,漏掉一个查询会怎样”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明租户解析时机、全局过滤器或行级安全的实现位置及串租户的故障模式。
围绕“访问令牌被盗后攻击者直接重放怎么办,DPoP 这类发送方约束令牌如何缓解令牌重放”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要解释持有方证明机制将令牌绑定到客户端密钥的思路及与 Bearer Token 的差异。
围绕“navigator.clipboard.readText 读取剪贴板前应如何提示并处理空内容、权限拒绝与格式不符”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确异步拒绝分支与隐私提示。
围绕“navigator.clipboard.writeText 为什么常在非用户激活或权限被拒时失败”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖判断时要说明安全上下文、权限与瞬时激活要求。
围绕“用 ClipboardItem 写入 text/html 与 text/plain 时,为什么要同时提供纯文本并清洗”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖判断时要说明富文本消费者差异与 XSS/样式污染风险。
围绕“copy/cut/paste 事件里的 event.clipboardData 与 Clipboard API 读写”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须区分事件内同步改本次剪贴板与异步权限 API。
围绕“enumerateDevices 为什么在授权前 label 为空,拿到流后应如何刷新设备列表”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答需要围绕必须把标签可见性与活动轨道权限绑定。
本文解释 input accept 属性的本质是选择提示而非安全边界,给出其可被绕过的情况。说明如何在前端通过 File.type 和扩展名进行辅助校验,并强调服务端校验的必要性,以及失败时的用户提示和体验兜底。
围绕“Permissions API query 摄像头/麦克风状态时,name 支持与 change 事件边界是什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖判断时要说明权限名支持差异与状态只反映许可不代表设备可用。
围绕“页面里的 iframe 会怎样影响父页面 window load 事件的触发,嵌入慢第三方页面时有哪些隔离手段”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明 iframe 子资源计入父页面 load 等待,并给出动态注入、lazy 属性等隔离思路。
本题说明 Cookie 三个安全属性各自的防御目标:HttpOnly 防脚本窃取、Secure 防明文传输窃听、SameSite 防跨站伪造请求,并给出真实配置场景与失效边界。
围绕“多个装饰器叠加时执行顺序为什么会影响结果,如何约定顺序”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确洋葱式包裹顺序与依赖关系(如先鉴权后缓存)的判断。
围绕“依赖倒置原则要求高层模块依赖抽象,在 JavaScript 中抽象边界如何落地”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确以鸭子类型约定接口并注入依赖的做法。
围绕“依赖倒置如何通过注入替身提升模块的可测试性”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确依赖在边界注入使测试可用桩替换 IO 的判断。
围绕“依赖倒置原则与依赖注入是什么关系,注入了就一定满足依赖倒置吗”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确注入是手段、倒置是方向,注入具体实现仍违反倒置的判断。
围绕“策略模式在运行时切换算法时如何避免共享状态导致的串扰”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确策略应设计为无状态或状态注入的判断。
围绕“Docker 容器基于命名空间的隔离与虚拟机隔离在安全边界上有什么本质区别”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须从共享内核角度对比隔离强度与逃逸面。
围绕“为什么挂载宿主机目录进 Docker 容器后经常出现权限拒绝,如何正确处理 UID 映射”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明容器进程 UID 与宿主机文件属主的对应关系及 chown/指定 --user 等解法。
围绕“为什么 Express 接口不能直接把 req.body 整体传给数据库层,白名单过滤怎么做”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明越权写字段(如 role)的风险,并给出在路由层用 pick/解构白名单的方案位置,不讲 ORM 层防护。
集中在app.all与app.use的方法集合、路径匹配粒度差异。通过断言all只能完整路径匹配而use是前缀匹配,并给出鉴权场景下选型标准,避免中间件误拦截或缺失。
围绕“用客户端传来的文件名直接拼接保存路径,在 Express 上传服务里会造成什么漏洞,如何防”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明 ../../ 路径穿越风险,以及用随机生成文件名、path.basename 过滤、限定上传目录三道防线的具体做法,不讲对象存。
围绕“performance.now 比 Date.now 精度高在哪,为什么实际精度仍被限制”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明单调时钟与高分辨率及为防侧信道攻击的粗化。
围绕“GraphQL 如何实现字段级权限控制(如仅本人可见邮箱)”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明字段 resolver 内判断与返回 null/报错的取舍。
围绕“GraphQL 的权限校验应该放在 resolver、服务层还是数据层,如何权衡”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要比较各层校验的可复用性与粒度,说明不应依赖客户端隐藏字段。
围绕“DataLoader 的请求级缓存为什么必须按请求创建实例而不能全局共享”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明跨请求缓存导致的数据陈旧与权限串扰风险。
围绕“GraphQL 的内省(Introspection)在生产环境是否应该关闭,依据是什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答需要围绕权衡攻击面信息暴露与工具链依赖,说明替代方案如持久化查询。
围绕“如何防止恶意构造的超深嵌套 GraphQL 查询拖垮服务端”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明深度限制的度量与配置思路,并指出其对广度攻击的不足。
围绕“GraphQL 查询中变量(variables)解决了什么问题,为什么不能直接拼接字符串”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明变量分离查询与参数对缓存、注入安全和复用的价值。
围绕“iframe 的 sandbox 属性如何限制嵌入内容的权限?包括哪些主要令牌”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖解释 sandbox 默认限制所有能力,可添加令牌,并强调 allow-scripts 与 allow-same-origin 同时使用。
围绕“HTTP 401 与 403 的语义区别是什么,它们分别要求哪些响应字段配合”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖区分未认证与无权限,并说明 WWW-Authenticate 字段的作用。
本文解释HTTP CONNECT建立HTTPS隧道的过程:请求格式、成功响应后的双向转发语义、代理不解析TLS内容,以及限制目标端口等安全边界。
围绕“HPACK 动态表为什么可能带来 CRIME 类压缩侧信道风险”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要解释攻击者注入内容与被压缩秘密同段时通过密文长度推断信息,及 HPACK 不跨连接分隔敏感字段的考量。
围绕“为什么修改 Kubernetes ConfigMap 后已运行的 Pod 环境变量不会自动更新”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须区分 env 注入与 volume 挂载两种消费方式的更新行为。
围绕“Kubernetes 1.25+ 的临时容器(Ephemeral Containers)如何调试无 shell 的镜”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明 kubectl debug 注入调试容器的用法及相比 exec 的优势。
围绕“如何用 kubectl auth can-i 定位 Kubernetes RBAC 权限问题”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答需要围绕必须展示用 can-i 及 --as 模拟用户验证权限的排查方法。
围绕“Kubernetes RBAC 中哪些权限组合会导致权限提升风险”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须指出 create pod、escalate、bind、impersonate 等高危动词及防范思路。
围绕“如何为 CI/CD 流水线账号设计最小权限的 Kubernetes RBAC 规则”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须给出按动词与资源收敛权限、限定命名空间的具体思路。
围绕“Kubernetes 用环境变量注入 Secret 比挂载文件多了哪些泄露风险”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须比较 env 在崩溃日志、子进程继承中的暴露面与 volume 的权限控制差异。
围绕“为什么 chmod -R 777 或 chown -R 到错误目录是高危操作,如何安全执行批量权限变更”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明递归破坏 setuid/目录执行位的后果及用 find -type 分文件目录分别赋权的做法。
围绕“文件权限看起来没问题却仍 Permission denied,要检查哪些层次”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖完整回答要覆盖路径上各级目录的 x 权限、ACL(getfacl)与挂载选项三层。
围绕“Linux 目录上的 r、w、x 权限分别控制什么操作”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须区分目录读列表、写增删条目、x 进入与访问三者的具体行为差异。
围绕“如何为运维脚本配置最小权限的 sudo 免密执行而不开放全部命令”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答需要围绕必须用 visudo 限定具体命令与参数的写法及通配符绕过风险。
围绕“umask 如何决定新建文件和目录的默认权限,运维排障中何时需要检查它”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须给出 022/002 对 666/777 基值的掩码计算及排查“程序生成文件别人读不了”的场景。
围绕“NestJS 的 ConfigurableModuleBuilder 相比手写 forRoot 有什么优势”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明它如何自动生成 register/forRoot 及 options token 的注入方式。
围绕“NestJS 守卫和 Express 中间件在职责上如何分工”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖从执行时机、能否访问 ExecutionContext、依赖注入能力三方面区分。
围绕“NestJS 中什么时候必须用 @Inject() 装饰器显式注入”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要讲清清基于类的注入与基于字符串/Symbol token 注入的区别。