csrf和XSS攻击分别是什么?

csrf和XSS攻击分别是什么?

CSRF的基本概念、缩写、全称:CSRF(Cross-site request forgery):跨站请求伪造
CSRF的攻击原理:要完成一次CSRF攻击,受害者必须满足两个必要的条件:登录受信任网站A并在本地生成Cookie
在不登出A的情况下,访问危险网站B
CSRF如何防御:cookie设置httpOnly + token验证 + 隐藏令牌 + Referer验证

XSS的基本概念:XSS(Cross Site Scripting):跨域脚本攻击
XSS攻击原理:不需要你做任何的登录认证,它会通过合法的操作(比如在url中输入、在评论框中输入),向你的页面注入脚本(可能是js、hmtl代码块等)。

CSRF 和 XSS 的区别
1、CSRF是跨站请求伪造; XSS是跨域脚本攻击。
2、CSRF需要用户先登录网站A,获取cookie; XSS不需要登录。
3、CSRF是利用网站A本身的漏洞,去请求网站A的api; XSS是向网站A注入JS代码,然后执行JS里的代码,篡改网站A的内容。(XSS利用的是站点内的信任用户,而CSRF则是通过伪装来自受信任用户的请求来利用受信任的网站。你可以这么理解CSRF攻击:攻击者盗用了你的身份,以你的名义向第三方网站发送恶意请求。)

你可能感兴趣的:(PHP面试题,php,csrf,xss)