iframe的挂马与防马(转自落伍)
[重要通告]如您遇疑难杂症,本站支持知识付费业务,扫右边二维码加博主微信,可节省您宝贵时间哦!
网上通用的防插那版是(子):if(top.location != self.location){
top.location = self.location;
}
复制代码强插方案为(父):var location="";
复制代码其中这个location是对被赋值的top.location方法的覆盖,导致方法失效。
昨天又遇到另外一个版本(子):if(window!=parent){
parent.navigate(location);
}
复制代码强插方案为(父):var navigate="";
复制代码即是对parent.navigate方法的覆盖,导致再次引用失效。
那么两个和在一起的强插方案是,在iframe之前加入:
复制代码介绍了“市面上”能见到的两种防御被iframe的方法,以及相应的变态突破方法。
貌似把“受害人”逼上绝路了,我们再来看看这两个方法:
它们都能够判断出自己已经被XX了,可是它们是怎么做的呢?
方法一说:先生,请您出去。
方法二说:同志,请您出去!
然而这先生也说了句:“我就不出去!”
因为“受害人”和这位先生又不是一家子,似乎通过命令对方还无可奈何 —— 同源策略!
但事实上,“请您出去”这种方式显然是针对君子不对小人的,所以Monyer教你一种好方法——“乱棍打出去!”
window.onload = function(){
if(top!=self){
var f = document.createElement("form");
f.action=location;
f.target="_parent";
document.body.appendChild(f);
f.submit();
}
};
复制代码目前我个人还没有找到突破的方法,所以至少比以上两种方法更暴力一些!
问题未解决?付费解决问题加Q或微信 2589053300 (即Q号又微信号)右上方扫一扫可加博主微信
所写所说,是心之所感,思之所悟,行之所得;文当无敷衍,落笔求简洁。 以所舍,求所获;有所依,方所成!