<img>s XSS 上的数据 URI 是否可被利用
Are data URIs on <img>s XSS exploitable?
看完这篇文章,我没有一个明确的答案:
http://palizine.plynt.com/issues/2010Oct/bypass-xss-filters/
-
浏览器是否会将
<img>
src
中的文本/html 数据 URI 有效负载解释为执行<script>
标记的文档? -
如果不是,那么允许第三方HTML中的数据URI是否安全?
-
对于此用例,浏览器级别存在哪些安全机制?
MSDN 文档说 IE 不会:
出于安全原因,数据 URI 仅限于下载的资源。数据 URI 不能用于导航、脚本编写或填充框架或 iframe 元素。
另一方面,Mozilla确实允许iframe和脚本执行:
数据:继承其引荐来源网址的网址允许它们用于生成或窗口父级可以与之交互的内容。壁虎一直都是这样做的(我们有很多安全检查分散周围不得不担心它)。
Safari 和 Chromium 沙盒数据 URI 执行,有效地将它们视为跨域请求。
我们目前将数据:URI 标记为无法访问任何其他来源,包括其他数据:URI。
HTML5规范指出:
如果文档或图像是从数据生成的:作为 HTTP 重定向位置返回的 URL(或其他协议中的等效位置)
来源是重定向到数据的 URL 的来源:URL。
如果文档或图像是从数据生成的:在其他文档或脚本中找到的 URL
源是调用导航算法时由现有设置对象指定的源的别名,或者,如果未涉及脚本,则为启动导航到该 URL 的元素的节点文档的别名。
如果文档或图像是通过其他方式获得的(例如,用户输入的数据:URL,使用createDocument()API创建的文档,作为HTTP重定向位置返回的数据:URL等)
原点是创建文档或图像时分配的全局唯一标识符。
RFC6454补充说:
URI 不一定与自身同源。 例如,数据 URI [RFC2397] 与自身不是同源的,因为数据 URI 不使用基于服务器的命名机构,因此具有全局唯一标识符作为源。
CSSHTTPRequest 库使用数据 URI 来执行跨站点 GET 请求,但这是它可以在所有浏览器中执行的最多请求。
引用
-
HTML生活标准:起源
-
RFC 6454: 网络起源概念
通过这种方式注入数据,但重要的是要注意,也可以在图像本身的二进制数据中注入数据。无论哪种方式,没有什么是100%安全的。曾。如果您使用的是代码点火器框架,则可以非常牢固地保护自己免受此影响
$this->security->xss_clean()
除此之外,可以构建您自己的此类脚本版本,该脚本仅使用正则表达式删除危险内容。请记住,在构建此类脚本时要关注不同的字符编码。
- 访问布局信息是否也会导致浏览器重排
- 当包含另一个asp文件时,是否也包含所有引用的样式和脚本页面
- 如何检测是否有溢出
- jQuery中是否内置了任何字符串格式化函数
- 是否有任何snippet或jQuery插件可以列出easylist.txt模式匹配的DOM中的所有元素
- 测试索引值是否等于某个数字的倍数
- Fancybox是否将Click事件静音
- 主干-不管怎样,检查事件以前是否绑定过
- YUI3 IO实用程序是否可以根据给定的内容类型标头值自动序列化数据
- 是否有一个JS/jQuery函数可以获取某个类的每个元素的ID
- 是否可以使用jQuery或PHP上传数据URI
- s XSS 上的数据 URI 是否可被利用
- URI模板:javascript中是否有rfc-6570实现
- 是否可以加载图像,在内存中缩放它并将其分配为背景图像的 uri
- 如何确定浏览器是否支持超链接的数据URI
- 是否可以将本地文件从文件管理器拖放到浏览器并获取文件's uri
- 检测浏览器是否支持使用iframes的数据uri方案
- 检测是否在客户端机器上注册了uri协议
- 如何发现URI是否包含文档
- 如何检查url.createobjecturl生成的uri在typescript中是否仍处于活动状态