XSS 和 CSRF 的区别?

信息安全 xss csrf
2021-08-18 19:51:08

我知道跨站点脚本和跨站点请求伪造。我想知道它们之间是否有相似之处?

1个回答

跨站点请求伪造攻击中,攻击者试图强迫/欺骗您发出您不希望的请求。这可能会向您发送一个链接,让您不自觉地更改密码。恶意链接可能如下所示:

https://security.stackexchange.com/account?new_password=abc123

跨站点脚本攻击中,攻击者让您不由自主地执行客户端代码,很可能是 Javascript。典型的反射型 XSS 攻击尝试可能如下所示:

https://security.stackexchange.com/search?q="><script>alert(document.cookie)</script>

这两种攻击的共同点是它们都是客户端攻击并且需要某种形式的用户活动(例如单击链接或访问网站)。RFISQLi漏洞不同,您攻击的是用户而不是服务器。XSS 通常比 CSRF 更强大,因为它通常允许执行任意脚本代码,而 CSRF 仅限于特定操作(例如更改密码)。正如@Lukas 指出的那样,成功的 XSS 攻击也有效地绕过了所有反 CSRF 措施。