我一直试图将此事打破几个小时,但没有成功......我现在非常绝望:(
我正在为一家公司进行渗透测试,我需要绕过这个框架杀手JS:
<script type="text/javascript">/* <![CDATA[ */
if (top != self) {
try {
if (parent != top) {
throw 1;
}
var disallowed = ['XXXXXXX.com'];
var href = top.location.href.toLowerCase();
for (var i = 0; i < disallowed.length; i++) {
if (href.indexOf(disallowed[i]) >= 0) {
throw 1;
}
}
} catch (e) {
try {
window.document.getElementsByTagName('head')[0].innerHTML = '';
} catch (e) { /* IE */
var htmlEl = document.getElementsByTagName('html')[0];
htmlEl.removeChild(document.getElementsByTagName('head')[0]);
var el = document.createElement('head');
htmlEl.appendChild(el);
}
window.document.body.innerHTML = '<a href="#" onclick="top.location.href=window.location.href" style="text-decoration:none;"><img src="http://www.XXXXXXX.com/img/XXXXXX.gif" style="border:0px;" /><br />Go to XXXXXXX.com</a>';
}
}
/* ]]> */</script>
非常感谢!
答案 0 :(得分:1)
使用以下其中一项:
如果body元素的节点文档的浏览上下文是嵌套浏览上下文,并且该嵌套浏览上下文的浏览上下文容器是frame或iframe元素,则body元素的容器框架元素是该frame或iframe元素。否则,没有容器框架元素。
上述要求意味着页面可以使用例如iframe更改另一页面的边距(包括另一页面的边距)。这可能存在安全风险,因为在某些情况下,它可能允许攻击设计页面呈现的情况不是作者的意图,可能是出于网络钓鱼或误导用户的目的。
<强>参考强>