phising without xss

本文探讨了一种在Internet Explorer浏览器中实现钓鱼页面的技术方案。利用window.createPopup()方法,即便在iframe内也能控制父页面显示,进而实现高仿真的钓鱼攻击。

Heart牛在这篇文章里提到了关于钓鱼的一些思路--利用iframe引用第三方的内容伪造登录控件,而此时主页面依然是在正常的网页里,因此具有很高的迷惑性.这与我之前写的一篇百度空间钓鱼很相似,我以前引用的swf,heart牛引用的是iframe,都是不能被信任的第三方控制的内容.

在iframe的引入中,heart牛用了xss的方法.而我想到了几天前ICBC被挂马的悲剧.出问题的同样是不能被信任的第三方iframe.能否利用那个场景发起钓鱼攻击呢.

利用页面正常引用的html的思路,有两个难点,第一个是要控制被iframe的内容,这个不在本文讨论范围.第二个是控制iframe的显示,如heart在文中提到的:

"http://www.victim.com/login?x=<iframe src=http://www.attacker.com/login style="height: 200px; width: 500px; top:100px; left:300px; overflow:hidden; position:absolute;" frameborder=0>"

Heart牛用xss直接向页面写入html,控制iframe出现的位置,可以起到精确控制的功效,但在iframe的第三方页面,除非有跨域漏洞,不然是不能对父页面的DOM进行操作的,那么如何控制iframe在父页面的位置的出现又是一个问题.如果有幸能在那个域名下找到一个xss,那事情就变的很容易了,iframe那个xss的页面,然后注入js直接对top的dom节点进行操作,一个钓鱼页就完成了.但如果你要钓鱼的网站的安全性是非常高的,一个xss都没有,那么是否就没有办法了呢.在IE下,还是能突破的.

用IE下的window.createPopup()可以弹出自己控制的dom,即使是在iframe里的JS也可以覆盖掉父页面上的内容.这样我们就可以通过设置iframe 内的内容来控制父页面的显示了.但在popup也有一定的缺陷,如果点击popup外的一个位置的话,popup的内容就会消失,另外,popup中的html元素是有限制的,通过测试form表单元素不能获得焦点,script标签等都不能使用.但是还是可以添加embed标签,所以,直接老方法--用HTML伪造一个页面,可以是纯图片的,将输入控件上使用swf来代替,popup出这个页面,再利用swf发出所取得的数据即可.想想那个ICBC的第三方内容劫持,如果用这个方法利用的话,危害还是很大的.


PoC:

被Iframe页面的代码:

<script language="JScript">
var oPopup = window.createPopup();
var oPopupBody = oPopup.document.body;
var str = "<embed src=getData.swf></embed>"
oPopupBody.innerHTML = str;
oPopup.show(0, 0, screen.availWidth , screen.availHeight , window.document.body);
</script>

未完全测试,仅在IE8下测试有效.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值