前言
首先讲述被动攻击,介绍浏览器针对此类攻击的防御策略——沙盒。沙盒技术的核心概念为“同源策略”,对于理解Web应用的安全隐患智攻关重要。
二、同源策略
1.主动攻击与被动攻击
针对Web应用程序的攻击可分为主动攻击(Active Attack)和被动攻击(Passive Attack)。
主动攻击指攻击者直接攻击Web服务器,例如SQL注入攻击。
1.1 被动攻击
攻击者并不直接攻击服务器,而是针对网站的用户设下陷阱,利用掉入陷阱的用户来攻击应用程序。下面按照由易到难来介绍被动攻击的3种模式。
单纯的被动攻击:将用户诱导至设有圈套的网站。
例如:用户在浏览过可疑网站后会感染上恶意软件病毒等。
恶意利用正规网站进行的被动攻击:通过在正规网站设置陷阱来实施攻击。
步骤:①攻击者事先入侵正规网站,往其中内容中嵌入恶意代码。②网站用户在浏览了含有恶意代码的内容后。③感染病毒。
在正规网站中设置陷阱的手法
① 非法获取FTP等服务器的密码后篡改网站内容
② 通过攻击Web服务器的安全隐患来篡改网站内容
③ 通过SQL注入攻击来篡改网站内容
④ 在社交网络这类用户能够自己发布内容的网站上,利用跨站脚本漏洞实施攻击
跨站被动攻击
同时使用恶意网站和正规网站地被动攻击模式。特征:恶意利用已经在正规网站登录的用户账号来实施攻击。
步骤:①用户浏览恶意网站。②从恶意网站下载含有恶意代码的HTML。③HTML中的恶意代码被触发,从而向正规网站发送攻击请求。④正规网站返回含有JavaScript等的响应内容。
步骤③中的请求中要向正规网站发送会话Cookie,因此,如果过用户已经在正规网站登录,就会利用已经登录的状态实施攻击。
1.2 增强安全性机能
基本思想有两种
① 只有在用户确认了程序的发行方并且允许运行的情况下,程序才能被运行
② 提供限制程序权限的沙盒环境
2.沙盒
在沙盒里,程序的权限受到制约,即使编写了恶意程序也无法对用户造成伤害。沙盒限制了以下功能
禁止访问本地文件
禁止使用打印机等资源(可以显示网页)
限制网络访问(同源策略)
3.同源策略
是进制JavaScript进行跨站访问的安全策略。也是浏览器的沙盒环境所提供的一项制约。
同源的条件:
URL的主机一致
协议(Scheme)一致
端口号一致