CSRF:跨站请求伪造
*同源策略
三个相同指的是:
1. 协议相同
2. 域名相同
3. 端口相同
目的:
为了保证用户信息安全,防止恶意的网站窃取数据
限制范围:
1. cookie、LocalStorage和IndexDB无法读取
2. Dom无法获得
3. AJAX请求不能发送
*有些合理的用途也会受到影响
cookie的两个重要属性
domain:当前要添加的cookie的域名归属,如果没有明确指明则默认当前归属
path:当前要添加的cookie的路径归属,如果没有明确指明则默认当前路径
浏览器提交cookie需要满足以下两点
1. 当前域名或父域名下的cookie
2. 当前路径或父路径下的cookie
*跨域并不能获取到cookie
CSRF原理:
黑客利用已经登录的用户,诱使其访问或者登录某个早已构造好的恶意链接或者页面,然后在用户毫不知情的情况下,以用户的名义完成了非用户本意的非法操作。
一个CSRF漏洞攻击的实现,其需要由“三个部分”来组成:
1. 有一个漏洞存在(无需验证、任意修改后台数据、新增请求)
2. 伪装数据操作请求的万一链接或者页面
3. 诱使用户主动访问或登录恶意链接,出发非法操作
CSRF漏洞的目的:
利用已存在的漏洞构造了一个“恶意链接”或“html页面”,然后诱使用户点击触发此漏洞。
目标站点存在一个漏洞(CSRF),攻击者利用此类漏洞伪装了一个链接或者html页面,诱使被攻击者在登录的情况下(即当前cookie有效的情况下)点击了此伪装请求,随后在用户不知情的情况下完成了对当前用户数据的修改或者新增操作,而被修改的信息可能是用户的密码、关键信息又或者新增后台管理员等。
如有错误,欢迎批评指正[鞠躬]