1.同源策略
同源策略是一种约定,它是浏览器最核心也是最基本的安全功能。浏览器的同源策略限制了来自不同源的”document”或脚本,对当前”document”读取或设置某些属性
1.1何谓同源
URL由协议、域名、端口和路径组成,如果两个URL的协议、域名和端口相同,则表示他们同源
1.2影响源的因素
影响元的因素有:host(域名或IP地址,如果是IP地址则看做一个根域名)、子域名、端口协议
1.3JavaScript跨域
跨域并非浏览器限制了发起跨站请求,而是跨站请求可以正常发起,但是返回结果被浏览器拦截了。最好的例子是 CSRF 跨站攻击原理,请求是发送到了后端服务器无论是否跨域!注意:有些浏览器不允许从HTTPS的域跨域访问HTTP,比如Chrome和Firefox,这些浏览器在请求还未发出的时候就会拦截请求,这是一个特例
1.4Ajax跨域
Ajax 通过XMLHttpRequest 能够与远程的服务器进行信息交互,另外XMLHttpRequest是一个纯粹的Javascript对象,这样的交互过程,是在后台进行的,用户不易察觉。
举个例子:某网站因为存在漏洞导致XSS注入了javascript脚本,这个脚本就可以通过ajax获取用户信息并通过ajax提交给其他站点,这样就可以源源不断地收集信息
2.浏览器沙箱
2.1沙盒框架
对常规<iframe>表现行为的扩展,它能让顶级页面对其嵌入的子页面及这些子页面的子资源设置一些额外的限制, 通过设置<iframe>的参数实现限制
2.2Flash安全沙箱
分为本地沙箱与远程沙箱:
类似于同源策略,在同一域内的资源会被放到一个安全组下,称为安全沙箱,Web站点通过crossdomain.xml文件配置可以提供允许的域跨域访问本域上内容的权限(放置于站点根目录)
2.3恶意网址拦截
挂马的攻击方式能够破坏浏览器安全,在很多时候,挂马攻击在实施时会在一个正常的网页中通过<script>和<iframe>等标签加载一个恶意网址。
2.3.1拦截原理
是浏览器周期性地从服务器端获取一份最新的恶意网址黑名单,如果用户上网时访问的网址存在此黑名单中,浏览器就会弹出一个警告页面
2.3.2分类
挂马网站:这些网站通常包含有而已的脚本如javascript或flash,通过利用浏览器漏洞执行shellcode,在用户电脑植入木马
钓鱼网站:通过模仿知名网站的相似页面来欺骗用户