Mik*_*maa 9 html javascript xss cross-domain data-uri
阅读本文后,我没有一个明确的答案:
http://palizine.plynt.com/issues/2010Oct/bypass-xss-filters/
浏览器会将text/html数据URI有效负载解释为执行标记<img> src的文档<script>吗?
如果没有,那么在第三方HTML中允许数据URI是否安全?
此用例在浏览器级别存在哪些安全机制?
在MSDN文档说,IE不会:
出于安全原因,数据URI仅限于下载的资源.数据URI不能用于导航,脚本编写或填充框架或iframe元素.
data:继承其referrer源的url允许它们用于生成或窗口内容,父级可以与之交互.Gecko一直都是这样做的(我们已经分散了很多安全检查,不得不担心它).
Safari和Chromium沙箱数据URI执行,有效地将它们视为跨域请求.
我们目前标记数据:URI不能访问任何其他来源,包括其他数据:URI.
HTML5规范声明:
如果从数据生成文档或图像:作为HTTP重定向的位置(或其他协议中的等效项)返回的URL
原点是重定向到data:URL的URL的来源.
如果文档或图像是根据数据生成的:在另一个文档或脚本中找到的URL
原点是调用导航算法时由现任设置对象指定的原点的别名,或者,如果不涉及脚本,则是启动导航到该URL的元素的节点文档的别名.
如果以某种其他方式获取文档或图像(例如,数据:用户输入的URL,使用createDocument()API创建的文档,数据:作为HTTP重定向的位置返回的URL等)
原点是在创建文档或图像时分配的全局唯一标识符.
RFC6454增加了:
URI本身不一定是同源的.例如,数据URI [RFC2397]与其自身不是同源的,因为数据URI不使用基于服务器的命名权限,因此具有全局唯一标识符作为原点.
该CSSHTTPRequest库使用数据URI做跨站点GET请求,但这是它可以在所有浏览器做最.
参考