【问题标题】:Why are javascript: URIs allowed in the src attribute of <img> tags?为什么 <img> 标签的 src 属性中允许使用 javascript: URI?
【发布时间】:2012-09-30 05:48:22
【问题描述】:

在我看过的几乎所有 XSS 缓解指南中,都提到了以下模式:

<img src="javascript:evil();">

这可能有什么合法用途?能不能用JS代码生成base64编码的表示什么的?

【问题讨论】:

  • this看来,我的建议是不被允许的。

标签: javascript html security xss image


【解决方案1】:

它没有很多合法用途。

它的工作方式可能是因为你可以在那里使用任何协议,并且一些浏览器实现了javascript伪协议,可以从多个地方调用。

【讨论】:

  • 现代浏览器不支持 javascript: 协议的 &lt;img&gt; 元素 - 试试这个:jsfiddle.net/LXwM9
  • @RichardJPLeGuen 并且 Firefox 为地址栏禁用了它。似乎有些浏览器仍然必须允许 src 属性。
  • 我只是不会称这些为现代浏览器:P
【解决方案2】:

我不知道合法使用,但某些浏览器(通常是较旧的浏览器)会执行 JavaScript。 See the OWASP XSS Filter Evasion Cheat Sheet.

【讨论】:

  • 我想链接到ha.ckers.org XSS 备忘单,但它现在看起来重定向到 OWASP 列表。太糟糕了;我似乎记得它更深入。
猜你喜欢
  • 1970-01-01
  • 2011-01-11
  • 1970-01-01
  • 2017-10-14
  • 1970-01-01
  • 2015-09-20
  • 2010-09-12
  • 1970-01-01
  • 2017-05-21
相关资源
最近更新 更多