读《白帽子讲web安全》 ——笔记
第二章 浏览器安全
什么是同源策略?
同源策略,它是由Netscape提出的一个著名的安全策略。
现在所有支持JavaScript 的浏览器都会dao使用这个策略。
所谓同源是指,域名,协议,端口相同。
当一个浏览器的两个tab页中分别打开来 百度和谷歌的页面。
当浏览器的百度tab页执行一个脚本的时候会检查这个脚本是属于哪个页面的。
即检查是否同源,只有和百度同源的脚本才会被执行。
如果非同源,那么在请求数据时,浏览器会在控制台中报一个异常,提示拒绝访问。
同源策略的作用:
浏览器的同源策略,限制了来自不同源的文件或脚本,对当前文件读取或设置某些属性。
浏览器提出“Origin(源)”这一概念,来防止浏览器的页面行为发生混乱,不同源的对象无法互相干扰。
当a.com通过代码<script src=http://b.com/b.js ></script>加载了b.com上的b.js,但是由于b.js运行在a.com页面中,所以b.js的源就是a.com而非b.com(对当前页面而言)
当带“src”属性的标签需要跨站加载时,浏览器会发起一次GET请求。浏览器会限制其js的权限,使其不能读or写返回的内容。
如果XMLHttpRequest能跨域访问资源,则会导致敏感数据泄露,从而发生安全问题。
XMLHttpRequest跨域访问标准:通过目标域返回的HTTP头来授权是否允许。 方案安全基础:JS无法控制HTTP头。
浏览器沙箱(Sandbox):
Sandbox设计目的:为了让不可信任的代码运行在一定的环境中,限制不可信任的代码访问隔离区之外的资源。emmmmm,有点像新冠隔离哈哈哈哈哈。

Google Chrome 的 Sandbox架构
多进程架构最明显的好处就是在浏览器发生崩溃时,多进程浏览器只会崩溃当前Tab页,对其他页面没有影响
2.3恶意网址拦截
对处于“黑名单”的恶意网址进行拦截。常见的恶意网站:一类是挂马网站(这类网站通常包含恶意的脚本如JS或Flash,通过利用浏览器漏洞来执行shellcode,在电脑中植入木马);另一类钓鱼网站(通过模仿知名网站的相似页面来欺骗用户)。
主流浏览器开始支持EV SSL证书,以增强对安全网站的识别。
2.4高速发展的浏览器安全
今天浏览器仍在不断更新,微软在IE8中推出的XSS Filter功能,可以修改XSS攻击的脚本中的关键字,使其攻击无效,并对用户弹出提示框。
使用CSP的方法如下,插入一个HTTP返回头:
X-Content-Security-Policy:policy
其中policy的描述很灵活,比如:
X-Content-Security-Policy:allow 'self' *.mydomain.com
这样浏览器将信任来自mydomain.com及其子域下的内容。
随着浏览器的发展,客户的浏览体验也越来越好,但随之而来的是许多看似“友好”的功能可能会导致一些安全隐患
例如许多浏览器地址栏会对畸形的URL进行处理,www.google.com\abc会被识别为正常的www.google.com/abc
如果这类“友好”的功能被和黑客利用,可能会用于绕过一些安全软件或模块。
第三章 跨站脚本攻击(XSS)
读《白帽子讲web安全》 ——笔记的更多相关文章
- 像计算机科学家一样思考Python(第2版)|百度网盘免费下载|Python新手入门资料
像计算机科学家一样思考Python(第2版)|百度网盘免费下载 提取码:01ou 内容简介 · · · · · · 本书以培养读者以计算机科学家一样的思维方式来理解Python语言编程.贯穿全书的主 ...
- 读《像计算机科学家一样思考python》——笔记
这本书,完全是入门级的,特别简单,一天多就看完. 目录: 第二章 变量.表达式和语句 第三章: 函数调用 第四章: 案例研究:接口设计 第五章 条件与递归 第六章:有返回值的函数 第七章 迭代 第八章 ...
- 像计算机科学家一样思考python-第3章 函数
在程序设计中,函数是指用于进行某种计算的一系列语句的有名称的组合.定义一个函数时,需要指定函数的名称并写下一系列程序语句.之后,就可以使用名称来“调用”这个函数 3.1函数调用 一个函数调用的例子 & ...
- 像计算机科学家一样思考python-第1章 程序之道
1.7调试 程序是很容易出错的.因为某种古怪的原因,程序错误被称为bug,而查捕bug的过程称为调试(debugging). 一个程序中可能出现3种类型的错误:语法错误.运行时错误和语义错误.对它们加 ...
- 像计算机科学家一样思考python-第4章 案例研究:接口设计
系统环境 ubuntu18 4.1turtle模块 模块一开始导入turtle模块就报错了 Python ( , ::) [GCC ] on linux Type "help", ...
- 《像计算机科学家一样思考Python》-递归
斐波那契数列 使用递归定义的最常见数学函数是 fibonacci (斐波那契数列),见其 定义 fibonacci(0) = 0 fibonacci(1) = 1 fibonacci(n) = fib ...
- 像计算机科学家一样思考python-第2章 变量、表达式和语句
感想: 1.程序出现语义错误时,画状态图是一个很好的调试办法.打印出关键变量在不同代码处理后值的变化,就能发现问题的蛛丝马迹. 2.每当学习新语言特性时,都应当在交互模式中进行尝试,并故意犯下错误,看 ...
- 《像计算机科学家一样思考Java》—— 读后总结
本书属于入门级的Java书籍,与其他的向编程思想.核心技术不同的是,这本书不是按部就班的讲解java变成知识,而是随着语言的深入慢慢增加知识点. 这本书以一个语言开发者的角度,深入浅出的讲解了Java ...
- s21day08 python笔记
s21day08 python笔记 一.现阶段所有内容回顾 以后把每天的笔记直接补充到python学习 二.进制 对于计算机而言无论是文件存储 / 网络传输输入本质上都是:二进制(0101010101 ...
- 嵩天老师的零基础Python笔记:https://www.bilibili.com/video/av13570243/?from=search&seid=15873837810484552531 中的1-14讲
#coding=gbk#嵩天老师的零基础Python笔记:https://www.bilibili.com/video/av13570243/?from=search&seid=1587383 ...
随机推荐
- PyQt(Python+Qt)学习随笔:QTreeWidgetItem项列图标的访问方法
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 树型部件QTreeWidget中的QTreeWidgetItem项中可以有多列数据,每列数据都可以设 ...
- PyQt(Python+Qt)学习随笔:QTreeView树形视图的sortingEnabled属性
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 QTreeView树形视图的sortingEnabled属性用于控制视图中的数据是否启用按表头排序, ...
- PyQt学习随笔:Qt中Model/View相关的主要类及继承关系
View相关类类继承关系: Model相关类类继承关系:
- [BJDCTF 2nd]duangShell 反弹shell
[BJDCTF 2nd]duangShell [BJDCTF 2nd]duangShell 点击进去之后提示我们swp源代码泄露,访问http://xxx/.index.php.swp下载该文件 ...
- python序列化与反序列化(json、pickle)-(五)
1.什么是序列化&反序列化? 序列化:将字典.列表.类的实例对象等内容转换成一个字符串的过程. 反序列化:将一个字符串转换成字典.列表.类的实例对象等内容的过程 PS:Python中常见的数据 ...
- Leetcode学习笔记(3)
题目1 ID88 给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 num1 成为一个有序数组. 说明: 初始化 nums1 和 nums2 的元素数量 ...
- webpack与vue使用
项目基本结构目录: index.html <!DOCTYPE html> <html lang="en"> <head> <meta ch ...
- shell--检查apache是否启动脚本
#首先我们需要检查apache是否以启动,这里我们用到的说nmap命令,Linux默认情况下是没有安装nmap命令的. #那么我们需要安装下nmap,安装的命令很简单:yum -y install n ...
- 自定义Django认证系统的技术方案
Django已经提供了开箱即用的认证系统,但是可能并不满足我们的个性化需求.自定义认证系统需要知道哪些地方可以扩展,哪些地方可以替换.本文就来介绍自定义Django认证系统的相关技术细节. 自定义认证 ...
- emlog仿小刀网模板附文章
附带了几百篇文章,搭建出来非常漂亮,喜欢的可以下载一份看看!下载地址:https://lengleng.lanzous.com/iNQayezebsh