2012-09-30 64 views
1

在几乎每一个XSS缓解导游,我已经看到了,下面的模式中提到:为什么在<img>标签的src属性中允许javascript:URI?

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

可这可能有什么合法使用?你可以使用JS代码来生成一个base64编码表示或什么?

+0

它似乎从[这](http://stackoverflow.com/questions/116967/img-src-tags-and-javascript)我的建议是不允许的。 – wwaawaw

回答

1

它没有很多合法用途。

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

+0

尽管现代浏览器不支持''元素的'javascript:'协议 - 试试这个:http://jsfiddle.net/LXwM9/ –

+0

@RichardJPLeGuen Firefox禁用了它的地址栏。看起来,一些浏览器仍然必须允许src'属性。 – alex

+0

我只是不会称这些为现代浏览器:P –

1

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

+0

我想链接到'ha.ckers.org' XSS备忘单,但它看起来像现在重定向到OWASP列表。太糟糕了;我似乎记得它更深入。 –

相关问题