0

我正在研究 XSS。我知道 HTML SVG 对象存在漏洞

来源在这里

<svg xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.0" x="0" y="0" width="0" height="0" id="xss"><script type="text/ecmascript" xlink:href="http://blahblahblah.com/~blah/xss/xss.js"></script></svg>

我在 xss.js 中试过这个

alert(document.cookie);

但 cookie 的值是“未定义的”

SVG 对象中有 Document 对象,但这与 HTML Document 对象不同。

那么,如何获取 cookie 的父文档对象?

请帮忙。

谢谢阅读。

4

1 回答 1

4

有一个HTMLDocument接口和一个SVGDocument接口,它们都派生自一个提供一些常用方法的基本Document接口。Cookie 是 HTMLDocument 接口的一部分,因此只有 HTML 文档才能获得 cookie。

如果您谈论的是通过,或标记<svg>嵌入到 html 文档中的情况,那么如果 SVG 和 HTML 文档位于同一域中,则or将从 SVG 对象中的脚本中获取父 html 文档。<object><embed><iframe>parent.documenttop.document

这至少在 Firefox 上对我有用......

<html>
  <body>
    <object id="object" data="embedded.svg" type="image/svg+xml"
            width="450" height="300">
    </object>
  </body>
</html>

与嵌入式.svg 一起

<svg xmlns="http://www.w3.org/2000/svg">
  <rect x="0" y="0" width="100%" height="100%" fill="blue"/>
  <script>
    alert(parent.document);
  </script>
</svg>
于 2013-06-22T09:56:47.390 回答