一、介绍
CSRF(Cross-site request forgery)跨站请求伪造,是一种对网站的恶意利用。与XSS不同,XSS利用站点内的信任用户,而CSRF则通过伪装用户的请求来利用网站。
二、原理
利用网站对用户浏览器的信任,挟持用户当前已登录的Web应用程序,去执行非用户本意操作。
总的来说:一个CSRF漏洞攻击的实现,需要满足三个条件
1、漏洞风险存在;
2、伪装数据请求的恶意链接或者页面(如修改密码,添加管理员);
3、诱使用户主动访问或登录恶意链接,触发非法操作;
三、防御
1、检测来源,referer
2、在请求地址中添加token并验证
3、在执行关键操作时,身份校验,如再次输入密码
四、同源策略
含义:A网页设置的cookie,B网页不能打开,除非这两个网页“同源”,所谓“同源”指的时“三个相同”。
1、协议相同
2、域名相同
3、端口相同
目的:
同源策略是浏览器最核心也是最基本的安全功能,现在所有支持JavaScript的浏览器都会使用这个策略。如果缺少同源策略,浏览器很容易受到CSRF和XSS等攻击。同源策略的目的为了保证用户信息的安全,防止恶意网站窃取数据。