zoukankan      html  css  js  c++  java
  • 【转】前端黑魔法之远程控制地址栏

    由于今天看到一篇文章《危险的 target="_blank" 与 “opener”》,里面提到了一个老知识点,就是target="_blank"的时候,新打开的页面可以通过window.opener来控制源页面的URL,进行钓鱼攻击。这个攻击手法我在博客《神奇的opener对象》中也说过,这里就不再赘述了。这篇文章抛出另一种与target有关的钓鱼攻击。

    首先可以看一个小例子:

    http://675ba661.2m1.pw/41593a

    见上图,打开上述链接,然后点击“click me”,打开了百度。这时查看地址栏,的的确确是百度,然后我们等待10秒,再次查看地址栏,这个时候已经变成攻击者的网址了;即使此时我们再访问淘宝等页面,只要仍然在这个标签页下,地址栏就仍然会被控制。

    原理其实也很简单:

    <html>
    <head><meta charset="utf-8"></head>
    <body>
    <a href="https://www.baidu.com" target="baidu" id="baidu">click me</a>
    <script>
    setInterval(function() {
        baidu.href="http://675ba661.2m1.pw/baidu";
        baidu.click();
    }, 10000);
    </script>
    </body>
    </html>

    a标签的target属性指定目标URL在哪个页面下打开,就是目标页面的window.name。如果这个a标签的href发生了变化,再次点击链接,页面仍然在相同的标签页下打开,所以就覆盖了上一次打开的页面。

    所以,这个攻击方式和opener的攻击方式比较相似,都是在不能跨域的情况下,控制目标标签页的URL,进而进行钓鱼攻击。

    但我觉得这个攻击持久型更佳,因为即使用户在新标签中输入自己的域名,或者又通过超链接点击到其他网站里,这个页面的地址栏永远是受到源页面的控制的。理论上在源页面不关闭的情况下,可以永久控制新页面的地址栏。

    原文:https://www.leavesongs.com/PENETRATION/use-target-to-spoof-fishing.html

  • 相关阅读:
    Codeforces Round #311 (Div. 2)
    hdu5441 并查集+克鲁斯卡尔算法
    hdu5439 二分
    hdu5422 最大表示法+KMP
    hdu3374 最大最小表示法 +kmp
    hdu2609最小表示法
    hdu4870 高斯消元
    关于并发编程是使用synchronized,lock?
    关于项目中遇到的问题-- trycatch 手动回滚事务
    关于项目中遇到的问题-- 请求接收的参数发生改变情况
  • 原文地址:https://www.cnblogs.com/sevck/p/8532837.html
Copyright © 2011-2022 走看看