当来自 3rd 方来源的一段浏览器脚本被注入到易受攻击的网站内容中时,就会发生 XSS,这可以被视为用户浏览器“呈现”网站的指令。在网络术语中,用户的浏览器认为此类指令在网站域内是合法的。在 XSS 场景中,返回的内容包含注入的脚本实际上不是网站想要的(因此“跨站”),但浏览器仍然认为是合法的并按照说明进行操作(包括执行注入的浏览器脚本)。

因此 XSS 攻击是“利用用户浏览器对从易受攻击的网站返回的内容的信任”

当第三方触发请求从受害者用户的浏览器发送到易受攻击的网站并进行处理时,就会发生 CSRF。这是可能的,因为从网站的角度来看,请求似乎是合法的(从用户浏览器发送 -> 可能包含必要的 cookie)。与 XSS 类似,在当前 Web 术语中,网站认为从有效用户浏览器发送的所有请求都是由用户真正“发起”的合法操作(例如单击所需按钮),但事实并非如此。

因此,CSRF 攻击是“利用易受攻击的网站对受害用户浏览器提交的请求的信任”(这实际上是XSS的反面)

XSS 和 CSRF 经常混淆,因为在许多情况下,CSRF 是通过 XSS 漏洞利用的 - 但具有 XSS 条件并不是 CSRF 的必要条件

其它你可能感兴趣的问题
上一篇为什么证书吊销列表会定期更新? 下一篇允许用户在不同的浏览器和计算机上多次登录是否安全?