当前位置 博文首页 > 读《白帽子讲web安全》 ——笔记

    读《白帽子讲web安全》 ——笔记

    作者:Cc? 时间:2021-01-04 21:02

    第二章 浏览器安全

    什么是同源策略?

    同源策略,它是由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)