白帽子讲web安全读书笔记(Ⅱ)
二.客户端脚本安全----浏览器安全 1. 同源策略(Same Origin Policy):DOM,Cookie,XMLHttpRequest,Flash,Java Applet等 浏览器的同源策略,限制了来自不同源的document或脚本,对当前document读取或设置某些属性,确保来自不同Origin的对象无法相互干扰。是浏览器安全的基础。 如JavaScript的同源策略:host,子域名,端口,协议完全相同才算同源。 a.标签 通过<script><img><iframe><link>等标签的src属性可以跨域加载资源,实际上是浏览器发出了一次GET请求,不受同源策略限制,这样加载的资源的origin属于其运行页面的url,而非资源本身的url。加载的JavaScript不能读、写返回的内容。 b.XMLHttpRequest 可访问同源对象的内容,默认不能跨域,否则会导致敏感数据泄露,如Token。基于信任“JavaScript无法控制HTTP头”,目标域返回的HTTP可以授权是否允许XMLHttpRequest跨域访问。 c.Flash 网站提供crossdomain.xml文件判断当前源是否允许当前“源”的Flash跨域访问目标资源。Flash9 之后还实现MIME检查确认crossdomain.xml的合法性,以及crossdomain.xml是否在根目录下