安全岗位面试题更新 2026-08-05

请解释跨站请求伪造(CSRF)攻击的定义、攻击者如何利用该漏洞实施攻击,并提出相应的防御措施。

安全意识技术原理

考察说明

考查对CSRF攻击原理、利用方式和防御策略的理解。

回答思路

  1. 【回答框架 1】CSRF(跨站请求伪造)是一种攻击手段,攻击者诱导已登录用户浏览器向目标网站发送未经其本意的请求,从而以用户身份执行敏感操作。核心在于浏览器自动携带Cookie等身份凭证,服务器难以区分请求是否由用户主动发起。
  2. 【回答框架 2】利用CSRF漏洞的关键是构造恶意页面或链接,当用户访问时自动触发对目标网站的请求。例如,通过隐藏表单自动提交、图片标签指向带参数的GET请求,或利用JavaScript发送跨域请求,前提是目标网站未对请求来源进行验证。
  3. 【回答框架 3】防御CSRF的常见方法包括:使用同步令牌(CSRF Token),在表单中嵌入随机token并与会话绑定,服务器验证token是否匹配;检查请求头中的Origin或Referer字段,拒绝非法来源;对敏感操作采用自定义请求头或验证二次密码,确保请求是用户主动发起。
  4. 【回答框架 4】此外,设置Cookie的SameSite属性(如Lax或Strict)可限制跨站请求携带Cookie,从而减轻风险。实际应用中应采用多种防御组合,并定期安全测试。
  5. 【回答框架 5】防御还需注意Token的生成与验证必须安全,避免泄露;同时要防止CORS配置不当导致跨域请求被允许,确保全面防护。
  6. 【关键点 1】CSRF利用浏览器自动携带凭证的特性,欺骗服务器执行非用户意愿的操作。
  7. 【关键点 2】防御需同时使用Token校验、来源检查和SameSite Cookie。
  8. 【关键点 3】CSRF与XSS不同,XSS是注入脚本,CSRF是伪造请求。
  9. 【易错点 1】仅依赖Referer检查可能因浏览器差异或隐私模式被绕过。
  10. 【易错点 2】Token如果存储在Cookie中,攻击者可能通过其他漏洞读取。
  11. 【易错点 3】GET请求用于状态变更操作会扩大CSRF攻击面,应改用POST。