超超哥AI云计算超哥讲AI 出品

社群入口

AI 超哥 Codex 副业群

扫码加入群聊,一起交流 AI、Codex 与副业实践。

原图注明二维码于10月20日前有效;若提示过期或无法入群,请等待更新二维码。

AI 超哥 Codex 副业群入群二维码在新窗口打开原图

CSRF、Cookie、同源策略与 CORS

Web 安全与XSS、CSRF、SQL 注入与权限安全#Python全栈#第十八阶段#Web 安全与XSS、CSRF、SQL 注入与权限安全#CSRF、Cookie、同源策略与 CORS约 974 字 · 3 分钟阅读
追问显示
点击任意追问卡片可收起 / 展开

CSRF 的成立条件是什么,与 XSS 的执行位置有什么不同?

追问 为什么浏览器自动携带凭据会影响风险?用户不读取攻击页面的响应,状态改变仍可能怎样发生?

为什么修改状态的业务不应依赖 GET 请求完成?

追问 链接访问、预加载与跨站请求可能产生什么副作用?改成 POST 后是否就不再需要 CSRF 防护,方法与身份凭据应怎样一起分析?

CSRF Token 应怎样产生、传递与校验?

追问 服务器如何确认 Token 与当前会话有关?缺失、错误和过期值怎样拒绝,为什么不能把 Token 放入容易被记录的 URL?
追问 有服务端会话与无会话方案各怎样设计?签名及会话绑定如何避免只比较两个可被注入的值,能否直接使用框架支持?
追问 顶层导航、跨站子请求和 Secure 要求怎样核对?为什么应明确配置与浏览器行为,而不能把默认值当作完整 CSRF 防护?

“同源”与“同站”有什么区别?

追问 协议、端口和子域变化分别怎样影响 Origin 与 SameSite 判断?为什么同站子域上的风险可能影响仅依赖 SameSite 的方案?

服务端校验 Origin 或 Referer 时,需要注意什么?

追问 来源允许列表怎样比较,为什么不能用随意的子串匹配?头部缺失、代理后的目标来源和特殊来源怎样制定明确处理规则?

CORS 允许什么,为什么不能把它当作认证或 CSRF 的替代品?

追问 浏览器是否会让所有跨域请求都先预检?请求已经改变状态但响应不可读时,怎样判断风险与防护是否有效?

带凭据的跨域接口应该怎样配置来源、Cookie 与响应头?

追问 Access-Control-Allow-Origin 与 Allow-Credentials 如何配合?为什么任意反射来源很危险,按来源变化的响应缓存需要考虑什么?

JSON API、Bearer Token 与 WebSocket 应怎样分别分析 CSRF 风险?

追问 脚本主动设置请求头与 Cookie 自动携带有何区别?Content-Type、登录接口与 Cookie 回退路径怎样检查,WebSocket 为什么还需验证 Origin 和业务权限?

CSRF 与跨域核对资料: OWASP:Cross-Site Request Forgery Prevention、Fetch 标准:CORS。