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

请解释 CSRF 攻击的定义,并对比 CSRF 与 XSS 之间的主要区别。

风险判断安全意识技术原理

考察说明

考查对 CSRF 攻击概念的理解及其与 XSS 攻击的区分能力。

回答思路

  1. 【回答框架 1】CSRF(跨站请求伪造)是一种攻击方式,攻击者诱导已登录用户在不知情的情况下,向目标网站发送伪造的请求,从而执行非用户本意的操作。其核心是利用浏览器自动携带 Cookie 等认证信息的机制,使服务器难以区分请求是否由用户主动发起。
  2. 【回答框架 2】XSS(跨站脚本攻击)则是攻击者将恶意脚本注入到网页中,当其他用户浏览该页面时,脚本在用户浏览器中执行,从而窃取信息或劫持会话。XSS 的根源是未对用户输入进行充分过滤或转义,导致脚本被当作代码执行。
  3. 【回答框架 3】两者的主要区别在于攻击目标和利用方式:CSRF 利用用户已认证的身份,伪造请求,目标是对服务器端操作进行未授权执行;XSS 则直接攻击用户浏览器,通过注入脚本窃取数据或执行恶意操作。CSRF 通常需要用户处于登录状态,而 XSS 不依赖用户登录,只要用户访问了被注入脚本的页面即可。
  4. 【回答框架 4】防御措施也不同:CSRF 常用同步令牌(CSRF Token)、同源检测、自定义请求头等方式验证请求来源;XSS 则需对输入进行过滤、输出进行编码,并设置 Content Security Policy(CSP)等。
  5. 【回答框架 5】在实际场景中,两者可能结合使用,例如通过 XSS 获取 CSRF Token,从而绕过 CSRF 防御,因此需要综合防护。
  6. 【关键点 1】CSRF 利用浏览器自动携带认证信息,伪造用户请求,实现未授权操作。
  7. 【关键点 2】XSS 通过注入恶意脚本在用户浏览器中执行,窃取数据或劫持会话。
  8. 【关键点 3】CSRF 攻击目标是服务器端操作,XSS 攻击目标是客户端用户。
  9. 【关键点 4】CSRF 防御依赖请求来源验证和 Token 机制,XSS 防御依赖输入过滤和输出编码。
  10. 【关键点 5】两者可组合攻击,需综合防护。
  11. 【易错点 1】混淆 CSRF 与 XSS 的攻击载体,CSRF 不直接注入脚本,而是伪造请求。
  12. 【易错点 2】认为 CSRF 只影响 GET 请求,实际上 POST 等请求同样可能受影响。
  13. 【易错点 3】忽略 CSRF Token 的生成和验证机制,导致防御失效。