导语:这篇文章讲的是攻击者利用标签钓鱼来执行钓鱼攻击的技术。虽然这个技术很早就有了,但相关的文章却很少,因此我想通过此文来讲讲标签钓鱼这个话题。
这篇文章讲的是攻击者利用标签钓鱼来执行钓鱼攻击的技术。虽然这个技术很早就有了,但相关的文章却很少,因此我想通过此文来讲讲标签钓鱼这个话题。
什么是标签钓鱼?
标签钓鱼是基于web的客户端攻击。并不算是web应用的一个漏洞,而是一种钓鱼技术。这种攻击利用的是用于对于标签页的疏忽,当然也需要攻击者精通JavaScript脚本语言来重写一个标签。
标签钓鱼展示:
以下是演示步骤:
1.攻击者向受害者发送他的网站链接(通过邮件,聊天APP,IM或者是第三方网站重定向都行)。链接如下:
http://127.0.0.1:234/file.html
2.受害者点击链接,打开攻击者的网站:
3.根据网页上的提示,受害者点击’Let us go’按钮访问社交网络页面。
4.受害者看到地址栏的域名并且坚信这是一个真实可信的网站。
5.受害者在这个页面上停留几秒或者在相同的浏览器窗口下打开一个新标签。
6.受害者返回到刚才的社交网络页面。
7.受害者认为这是一个真实的网站并且输入用户凭证,但是却没有注意到域名已经从第4步变成了第5步中的域名了。
8.受害者点击登录按钮,然后登录凭证就发送到了攻击者的服务器,因为钓鱼代码已经写入新的域名页面中(data URI)。
攻击是如何实施的?
3行js代码足以:
var w;
//声明一个新的变量
w=window.open(‘http://thesocialnetwork’,’target’);
//变量赋值:执行的操作是在新标签中打开一个网页
w.location.replace(‘data:text/html;,the duplicate html source code here’);
//新标签中的网页被包含钓鱼代码的data URI替换
在data URI中,我们故意添加了很多空格,这样一来,受害者就看不到我们的代码。
如何修复?
前面说过,这严格来说不算是一个漏洞,而是一种钓鱼技术,因此当用户输入凭证时应该确认网站的真实性,而不是简单的看看地址栏的url地址。
钓鱼代码在这里。