浏览器安全
ruhangs
·发布于 1 个月前·0 人看过
一、同源策略
什么是同源? 协议,主域名,子域名,端口号都要一致,若有一个不一致则称为跨域。 同源策略主要表现在三个方面:
1、dom 层面
同源限制了来自不同域的 javascript 脚本对当前 DOM 对象读和写的操作 只有同一个域才能读写
2、数据层面
同源策略限制了不同域之间的站点不能相互读取对方的 Cookie,IndexDB,Localstorage 等数据
3、网络层面
同源策略限制了通过 XHR 将站点的数据,发送不用源的站点
二、安全性和便利性的权衡
浏览器出让了哪些安全限制?
- 页面中可以嵌入第三方资源
- 跨域资源分享 设置响应头 Access-Control-Allow-Origin:*
(1)XSS 攻击
类型:
- 存储型攻击(主要是服务器的漏洞)
- 反射型 XSS 攻击:属于用户发送请求的一部分,随后服务器又把恶意脚本返回给用户。从而做出一系列操作。
- 基于 DOM 的 XSS 攻击。劫持页面 为了解决 XSS 攻击:
- 浏览器引入了内容安全策略(CSP)。CSP 的核心思想就是让服务器来决定浏览器能够加载那些资源,让服务器决定浏览器是否能够执行内联 JavaScript 代码。
- 或者对敏感内容做转码或过滤
- 使用 HttpOnly 属性
(2)CRSF 攻击
攻击者盗用你的身份,用你的身份发送恶心请求 如何防范:
- 充分利用 Cookie 的 sameSite 属性
- 验证请求的来源站点 保证 Origin 与 Referer 一致。(Origin 属性只包含了域名信息,而 Referer 还包含具体的 URL 路径)
- 使用 CRSF token