XSS和CSRF区别
XSS
跨站脚本攻击(Cross Site Scripting),为了不和层叠样式表 CSS 混淆,故将跨站脚本攻击缩写为 XSS。恶意攻击者往 Web 页面里插入恶意 Script 代码,当用户浏览该页之时,嵌入其中 Web 里面的 Script 代码会被执行,从而达到恶意攻击用户的目的。
CSRF
跨站请求伪造(Cross-site request forgery),是伪造请求,冒充用户在站内的正常操作。我们知道,绝大多数网站是通过 cookie 等方式辨识用户身份,再予以授权的。所以要伪造用户的正常操作,最好的方法是通过 XSS 或链接欺骗等途径,让用户在本机
(即拥有身份 cookie 的浏览器端)发起用户所不知道的请求。
区别:
1. 原理不同,CSRF是利用网站A本身的漏洞,去请求网站A的api;XSS是向目标网站注入JS代码,然后执行JS里的代码。
2. CSRF需要用户先登录目标网站获取cookie,而XSS不需要登录
3. CSRF的目标是用户,XSS的目标是服务器
4. XSS是利用合法用户获取其信息,而CSRF是伪造成合法用户发起请求