关于浏览器安全
前言:
浏览器是互联网的重要入口,在安全防护中,浏览器的作用也是越来越被人们所重视,在以为研究攻防中,大家更重视的是服务器端漏洞。而在现在,安全研究的范围已经覆盖了所有用户使用互联网的方式,浏览器正是其中之一
本文将介绍一些主要的浏览器安全功能
浏览器安全策略
一:同源策略
同源策略是一种约定,它是浏览器最核心也是最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能都可能会受到影响,可以说Web是构建在同源策略的基础之上的,浏览器知识针对同源策略的一种实现
影响源的因素有:host(域名或IP地址,如果是IP地址则看做一个根域名)、子域名、端口、协议
例:对JavaScript来说以下情况被认为是同源与不同源
http://www.hao123.com/dir/aa.htm 主
http://www.hao123.com/dir2/aa.html 同
https://www.hao123.com/aa.html 协议不同
http://www.hao123.com:81/dir/aa.html 端口不同
http://news.hao123.com/dir/aa.html 域名
注意:(1)同源策略是基于信任基础,但是也可以绕过同源策略。例如<scipt>标签,只能加载资源,不能读写资源,此漏洞可以绕过同源策略。
(2)XMLHttpRequest受到同源策略影响,不能跨越访问资源,在AJAX应用的开发中尤其需要注意这一点,如果XMLHttpRequest能够跨域访问资源,则可能会导致一些敏感数据泄露。
二:恶意网址拦截
恶意网址拦截原理:浏览器周期性的从服务器端获取一份最新的恶意网址黑名单,如果用户上网时访问的网址存在于此给名单中,浏览器则会弹出一个警告页面
常见恶意网址分两类:
ï¼1ï¼ 挂马网站:此类网站通常包含有恶意脚本如JavaScript或Flash,通过利用浏览器的漏洞(包括一些插件、控件漏洞)执行shellcode,在用户电脑上执入木马
ï¼2ï¼ 另一种就是钓鱼网站,通过模仿知名网站的相似页面来欺骗客户
一些有实例的浏览器的厂商,比如Google和微软,由于本身技术研发实力较强,且又掌握了大量的用户数据,因此自建有安全团队做恶意网址识别工作,用以提供浏览器所使用的黑名单。而PhishTank是互联网上免费提供恶意网址黑名单的组织之一,它的黑名单由世界各地的志愿者提供,且更新频繁
除了恶意网址黑名单拦截功能外,主流浏览器都开始支持EV SSL证书,以增强对安全网站的识别。很明显的是区别是 地址栏 开头是http 还是 https 如下图的两个网站对比
因此网站在使用了EV SSL证书后,可以教育用户如何识别真实网站在浏览器中的“绿色”表现,以对抗钓鱼网站
三:高速发展的浏览器安全
为了在安全领域获得竞争力,微软率先在IE8中推出XSS Filter功能,用来对抗反射型XSS,一直以来,XSS(跨站脚本攻击)都被认为是服务器应用端的漏洞,应该由服务器端应用在代码中修补,而微软率先推出了这一功能,就使得IE8在安全领域极具特色。
当用户访问的URL中包含了XSS攻击的脚本,IE就会修改其中的关键字符,使得攻击无法成功。
而Firefox也不甘其后,在Firefox中推出了Content Security Policy(CSP),这一策略是由安全专家Robert Hanson最早提出的,其做法是由服务器端返回一个HTTP头,并在其中描述页面应该遵守的安全策略
由于XSS攻击在没有第三方插件帮助的情况下,无法控制HTTP头,所以这一项措施是可行的,而这种自定义的语法必须由浏览器支持并实现,Firefox是第一个支持此标准的浏览器
CSP的设计理念无疑是出色的,但是CSP的配置规则较为复杂,在页面较多的情况下,很难一个个配置起来,且后期维护成本也非常巨大,这些原因导致CSP未能得到很好的推广。
总结:
浏览器的安全以安全策略为基础,加深理解同源策略,才能把握住浏览器安全的本质,在当前浏览器告诉发展的形式下,恶意网址检测,插件安全等问题都会显得越来越重要。
注:本文转自 吴翰清著《Web安全》一书
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
JavaScript 基础---( window 总结)
window 概念:1.表示浏览器窗口 2.所有 JavaScript 全局对象、函数以及变量均自动成为 window 对象的成员 3.全局变量是 window 对象的属性 4.全局函数是 window 对象的方法 一、方法: 实例1(新建窗口) 运行: 实例2 (更改窗口大小) 实例3(移动窗口)(700,500 是 x 轴 和 Y 轴) 实例4 关闭窗口(点击关闭) 二、windom screen(获取浏览器的宽度和高度) 实例 三、windom location (浏览器地址栏) 实例 四、window History (记录访问该站点的所有页面地址) 实例 其中,history.go(0) 代表当前页面,history.go(-2)代表当前回到之前的之前页面(即后退 2 次)
- 下一篇
C扩展Python
使用C扩展Python PyErr_*()函数是将一个异常对象压入到Python解释器的异常栈中 PyErr_Clear()函数是将Python异常栈中栈顶的元素弹出, 调用这个函数通常就相当于在Python程序中的try: except: 语句中except的作用 Python中的API, 每一个模块对应的API是PyMODNAME_FUNCINMOD() Python扩展模块的函数模板: // First static PyObject *exfunc(PyObject *self, PyObject *args) { ... // Get parameters /* Return 0 means an exception has been raised, you need to stop your program and rreturn NULL According to the official: It returns NULL (the error indicator for functions returning object pointers) if an error i...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- Mario游戏-低调大师作品
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS7,CentOS8安装Elasticsearch6.8.6
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- CentOS6,CentOS7官方镜像安装Oracle11G
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2配置默认Tomcat设置,开启更多高级功能