浏览器常见安全问题

前言

互联网是开放的,在没有安全保障的 Web 世界中,我们是没有隐私的,因此需要安全策略来保障我们的隐私和数据的安全。

同源策略

如果两个 URL 的协议、域名和端口都相同,我们就称这两个 URL 同源。它主要表现在 DOM 层面、Web 数据和网络。

在 DOM 层面,不同源的 JavaScript 脚本是不能操作当前 DOM 对象。

在 Web 数据层面,不同源不能读取 Cookie、IndexDB、LocalStorage 等数据。

在网络层面,不同源禁止通过 XMLHttpRequest 方式发送给其他源的站点。

XSS 攻击

XSS 攻击指的是在 HTML 页面注入恶意的 JavaScript 脚本代码。

恶意行为有哪些?

  • 窃取用户私密数据。
  • 可以监听用户行为。
  • 可以通过修改 DOM。

攻击方式有哪些?

  • 存储型 XSS 攻击。
  • 反射型 XSS 攻击。
  • 基于 DOM 的 XSS 攻击。

防止 XSS 攻击策略

  1. 服务器对输入脚本进行过滤或转码。
  2. 充分利用 CSP,CSP 是浏览器中引入了内容安全策略。CSP 的核心思想是让服务器决定浏览器能够加载哪些资源,让服务器决定浏览器是否能够执行内联 JavaScript 代码。
  3. 使用 Cookie 的 HttpOnly 属性。

CSRF 攻击

CSRF 攻击就是黑客利用了用户的登录状态,并通过第三方的站点来做一些坏事。和 XSS 不同的是,CSRF 攻击不需要将恶意代码注入用户的页面,仅仅是利用服务器的漏洞和用户的登录状态来实施攻击。

防止 CSRF 攻击策略

  1. 充分利用好 Cookie 的 SameSite 属性。
  2. 验证请求的来源站点。
  3. CSRF Token 验证。

结语

本文到这里就结束了。这是学习《浏览器工作原理与实践》在新窗口打开李兵老师课程的笔记。希望可以帮到你。