浏览器常见安全问题
前言
互联网是开放的,在没有安全保障的 Web 世界中,我们是没有隐私的,因此需要安全策略来保障我们的隐私和数据的安全。
同源策略
如果两个 URL 的协议、域名和端口都相同,我们就称这两个 URL 同源。它主要表现在 DOM 层面、Web 数据和网络。
在 DOM 层面,不同源的 JavaScript 脚本是不能操作当前 DOM 对象。
在 Web 数据层面,不同源不能读取 Cookie、IndexDB、LocalStorage 等数据。
在网络层面,不同源禁止通过 XMLHttpRequest 方式发送给其他源的站点。
XSS 攻击
XSS 攻击指的是在 HTML 页面注入恶意的 JavaScript 脚本代码。
恶意行为有哪些?
- 窃取用户私密数据。
- 可以监听用户行为。
- 可以通过修改 DOM。
攻击方式有哪些?
- 存储型 XSS 攻击。
- 反射型 XSS 攻击。
- 基于 DOM 的 XSS 攻击。
防止 XSS 攻击策略
- 服务器对输入脚本进行过滤或转码。
- 充分利用 CSP,CSP 是浏览器中引入了内容安全策略。CSP 的核心思想是让服务器决定浏览器能够加载哪些资源,让服务器决定浏览器是否能够执行内联 JavaScript 代码。
- 使用 Cookie 的 HttpOnly 属性。
CSRF 攻击
CSRF 攻击就是黑客利用了用户的登录状态,并通过第三方的站点来做一些坏事。和 XSS 不同的是,CSRF 攻击不需要将恶意代码注入用户的页面,仅仅是利用服务器的漏洞和用户的登录状态来实施攻击。
防止 CSRF 攻击策略
- 充分利用好 Cookie 的 SameSite 属性。
- 验证请求的来源站点。
- CSRF Token 验证。
结语
本文到这里就结束了。这是学习《浏览器工作原理与实践》李兵老师课程的笔记。希望可以帮到你。