第二章 浏览器安全

什么是同源策略?

同源策略,它是由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安全》 ——笔记的更多相关文章

  1. 像计算机科学家一样思考Python(第2版)|百度网盘免费下载|Python新手入门资料

    像计算机科学家一样思考Python(第2版)|百度网盘免费下载 提取码:01ou 内容简介  · · · · · · 本书以培养读者以计算机科学家一样的思维方式来理解Python语言编程.贯穿全书的主 ...

  2. 读《像计算机科学家一样思考python》——笔记

    这本书,完全是入门级的,特别简单,一天多就看完. 目录: 第二章 变量.表达式和语句 第三章: 函数调用 第四章: 案例研究:接口设计 第五章 条件与递归 第六章:有返回值的函数 第七章 迭代 第八章 ...

  3. 像计算机科学家一样思考python-第3章 函数

    在程序设计中,函数是指用于进行某种计算的一系列语句的有名称的组合.定义一个函数时,需要指定函数的名称并写下一系列程序语句.之后,就可以使用名称来“调用”这个函数 3.1函数调用 一个函数调用的例子 & ...

  4. 像计算机科学家一样思考python-第1章 程序之道

    1.7调试 程序是很容易出错的.因为某种古怪的原因,程序错误被称为bug,而查捕bug的过程称为调试(debugging). 一个程序中可能出现3种类型的错误:语法错误.运行时错误和语义错误.对它们加 ...

  5. 像计算机科学家一样思考python-第4章 案例研究:接口设计

    系统环境 ubuntu18 4.1turtle模块 模块一开始导入turtle模块就报错了 Python ( , ::) [GCC ] on linux Type "help", ...

  6. 《像计算机科学家一样思考Python》-递归

    斐波那契数列 使用递归定义的最常见数学函数是 fibonacci (斐波那契数列),见其 定义 fibonacci(0) = 0 fibonacci(1) = 1 fibonacci(n) = fib ...

  7. 像计算机科学家一样思考python-第2章 变量、表达式和语句

    感想: 1.程序出现语义错误时,画状态图是一个很好的调试办法.打印出关键变量在不同代码处理后值的变化,就能发现问题的蛛丝马迹. 2.每当学习新语言特性时,都应当在交互模式中进行尝试,并故意犯下错误,看 ...

  8. 《像计算机科学家一样思考Java》—— 读后总结

    本书属于入门级的Java书籍,与其他的向编程思想.核心技术不同的是,这本书不是按部就班的讲解java变成知识,而是随着语言的深入慢慢增加知识点. 这本书以一个语言开发者的角度,深入浅出的讲解了Java ...

  9. s21day08 python笔记

    s21day08 python笔记 一.现阶段所有内容回顾 以后把每天的笔记直接补充到python学习 二.进制 对于计算机而言无论是文件存储 / 网络传输输入本质上都是:二进制(0101010101 ...

  10. 嵩天老师的零基础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 ...

随机推荐

  1. moviepy音视频开发:音频合成类AudioArrayClip介绍

    ☞ ░ 前往老猿Python博文目录 ░ AudioArrayClip类是AudioClip的直接子类,用于从一个numpy音频数组构建音频剪辑.AudioArrayClip类只有一个构造方法,在构造 ...

  2. python 练习洗牌

    生成随机数需要引入random模块,学习下random模块中常用的几个函数: random.random() 用于生成一个0到1的随机符点数: 0 <= n < 1.0 random.un ...

  3. Python运算符可不只有加减乘除

    数学里面的加减乘除,就是运算符,但是 Python 的运算符更多样,更复杂,分为算术运算符.比较运算符.赋值运算符.位运算符.逻辑运算符.成员运算符.身份运算符.为了更直观的看到运算符的使用,本文采用 ...

  4. Mac开发必设置的Finder设置项,你设置了吗?

    1.显示标签页.显示路径栏.显示状态栏的设置位置,在访达->显示-> 显示状态栏 个人三个都设置了,但是觉得显示状态栏用的并不多,反而多一行,下面是显示状态栏的效果,主要可以一眼看出有多少 ...

  5. P7077 函数调用

    我好蠢啊... 考试的时候不会写,现在看了这么多篇题解还是似懂非懂,所以决定写一下草稿... 草稿 和 题解 就是首先,题目保证了函数不会间接的调用其本身,所以可以直接知道这是一个 \(\text{D ...

  6. STL——容器(deque) deque 的大小

    1. deque 的大小 deque.size();              //返回容器中元素的个数 1 #include <iostream> 2 #include <dequ ...

  7. shell,计算指定行的和,计算指定列的和

    有一个文本文件,里面某行某列为数字,那么如何用shell计算指定行(列)的和,方法如下 计算指定行的和: awk 'NR==3{for(i=1;i<=NF;i++)sum=sum+$i;}END ...

  8. IO(02)--属性集、缓冲流、转换流

    属性集[Properties] java.util.Properties类继承于Hashtable,用来表示一个持久的属性集.它使用键值结构存储数据,每个键及其对应的值都是一个字符串. 构造方法 ​ ...

  9. Vagrant批量安装CentOS7

    环境准备 下载virtualbox https://download.virtualbox.org/virtualbox/6.1.10/VirtualBox-6.1.10-138449-Win.exe ...

  10. css精髓:这些布局你都学废了吗?

    前言 最近忙里偷闲,给自己加油充电的时候,发现自己脑海中布局这块非常的凌乱混杂,于是花了一些时间将一些常用的布局及其实现方法整理梳理了出来,在这里,分享给大家. 单列布局 单列布局是最常用的一种布局, ...