浏览器安全
ruhangs
·发布于 1 个月前·
0 人看过

一、同源策略

什么是同源? 协议,主域名,子域名,端口号都要一致,若有一个不一致则称为跨域。 同源策略主要表现在三个方面:

1、dom 层面

同源限制了来自不同域的 javascript 脚本对当前 DOM 对象读和写的操作 只有同一个域才能读写

2、数据层面

同源策略限制了不同域之间的站点不能相互读取对方的 Cookie,IndexDB,Localstorage 等数据

3、网络层面

同源策略限制了通过 XHR 将站点的数据,发送不用源的站点

二、安全性和便利性的权衡

浏览器出让了哪些安全限制?

  1. 页面中可以嵌入第三方资源
  2. 跨域资源分享 设置响应头 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
浏览器