一、前言
前面有写过 前端安全漏洞之 XSS 与 前端安全漏洞之 CSRF 的文章,本着程序员开发宗旨低内聚的原则,这里另出一遍文章讲讲两者之间的相同点和区别。
二、相同点
- 既然是前端安全漏洞,肯定就是前端脚本的攻击,主要都是通过 a 标签和 iframe 标签的 href 属性,img 标签的 src 属性等途径进行攻击。
- 两者都可以通过非法站点获取到受信任站点的 cookie 信息。
三、区别
1. 侧重点不同
XSS 攻击是注重脚本攻击,比如在公共站点暴露出来的输入框中插入任何非法脚本,这些脚本可使公共站点出现异常现象;而 CSRF 攻击是注重伪造他人身份发送请求,比如伪造他人身份发一些转账、发邮件、购物等非法请求。
2. 攻击源不同
XSS 攻击是在公共站点中自己的页面嵌入非法脚本,等他人上钩;而 CSRF 攻击是在自己的站点中嵌入脚本诱使他人点击而触发非法请求。
3. 传播范围不同
XSS 攻击可以将恶意脚本存储在公共站点的服务器,那么只要登陆到该公共站点的用户都会收到影响;而 CSRF 攻击主要是仿造他人身份发送请求,所以收到影响的只是个人。
4. 攻击形式不同
XSS 攻击主要是通过浏览器提供互动入口的形式嵌入非法脚本信息,比如 input 框输入用户名和密码、textarea 框输入留言或评论等;而 CSRF 攻击是早就准备好嵌有非法请求的链接,等待受害者点击并且受害者身份认证未过期的形式下自动执行脚本。