V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
wangtao
V2EX  ›  程序员

神奇,请问这是怎么做到的。

  •  
  •   wangtao · 2013-12-12 10:32:01 +08:00 · 6789 次点击
    这是一个创建于 4002 天前的主题,其中的信息可能已经有所发展或是发生改变。
    http://www.baidu.com/s?wd=%E4%B8%83%E5%BA%A6%E4%B8%AD%E5%9B%BD

    点击第一个链接,打开新页面后,然后百度搜索页面也跳转了。
    27 条回复    1970-01-01 08:00:00 +08:00
    loveshouhu
        1
    loveshouhu  
       2013-12-12 10:39:23 +08:00
    确实好神奇的说。。。
    Moods
        2
    Moods  
       2013-12-12 10:40:35 +08:00   ❤️ 1
    神奇的不是地方⋯
    wangtao
        3
    wangtao  
    OP
       2013-12-12 10:42:10 +08:00
    好像只有 Chrome 与 Firefox 有效。。
    eightii
        4
    eightii  
       2013-12-12 10:44:41 +08:00
    哟,真的挺神奇...
    coosir
        5
    coosir  
       2013-12-12 10:44:42 +08:00
    怎么做到的?
    manhere
        6
    manhere  
       2013-12-12 10:49:05 +08:00
    GitFree
        7
    GitFree  
       2013-12-12 10:50:52 +08:00
    肯定是百度做的特殊处理
    booksmith
        8
    booksmith  
       2013-12-12 10:51:02 +08:00   ❤️ 1
    应该是这样的吧
    window.opener.location.href='http://www.baidu.com'
    ety001
        9
    ety001  
       2013-12-12 10:57:52 +08:00
    网站右下角的MM给网站加分不少~~~~~

    www.11413.com.cn/pinpai.php?tokenid=1 这里的加密的js控制的吧,应该是js控制了父页面的跳转。
    bigfei
        10
    bigfei  
       2013-12-12 11:13:20 +08:00
    解密到最后:
    var _$ = ["www.baidu.com", "www.sogou.com", "www.so.com", "www.google.com.hk", "www.yahoo", "bing.com", "www.youdao.com", "www.soso.com", "360.cn", "11413.com.cn", "http://www.11413.com.cn/qeedoo/index.html", "", "Microsoft Internet Explorer"];

    (function () {
    var qeedoo0 = window["document"]["referrer"];
    var qeedoo1 = window["document"]["URL"];
    qeedoo0 = qeedoo0["toLowerCase"]();
    qeedoo1 = qeedoo1["toLowerCase"]();
    if (qeedoo0["indexOf"](_$[0]) != -0x1 || qeedoo0["indexOf"](_$[1]) != -0x1 || qeedoo0["indexOf"](_$[2]) != -0x1 || qeedoo0["indexOf"](_$[3]) != -0x1 || qeedoo0["indexOf"](_$[4]) != -0x1 || qeedoo0["indexOf"](_$[5]) != -0x1 || qeedoo0["indexOf"](_$[6]) != -0x1 || qeedoo0["indexOf"](_$[7]) != -0x1 || qeedoo0["indexOf"](_$[8]) != -0x1) {
    var qeedoo2 = qeedoo0["replace"](/baidu.com\/s/, _$[9]);
    qeedoo2 = _$[10];
    if (qeedoo2 != null && qeedoo2 != _$[11]) {
    if (navigator["appName"] == _$[12]) {} else {
    window["opener"]["location"]["href"] = qeedoo2
    }
    }
    }
    })()
    clippit
        11
    clippit  
       2013-12-12 11:16:43 +08:00
    访问那个第一个链接的时候,会请求一个 www.11413.com.cn/pinpai.php?tokenid=1

    这个JS经过了多层加密混淆,解开以后是这样的

    https://gist.github.com/clippit/7922700

    虽然还是挺混乱,但是可以看出使用了 window.opener.location.href

    所以这个应该是属于恶意跳转吧,作弊行为
    binux
        12
    binux  
       2013-12-12 11:17:19 +08:00
    @bigfei 这居然没有同源限制。。
    Wy4q3489O1z996QO
        13
    Wy4q3489O1z996QO  
       2013-12-12 11:24:04 +08:00
    @clippit 求问怎么解密这样的js代码
    ccidcce32167
        14
    ccidcce32167  
       2013-12-12 11:25:07 +08:00
    确实很诡异 我从console抓不到任何跳转的信息
    jjplay
        15
    jjplay  
       2013-12-12 11:30:10 +08:00
    ccidcce32167
        16
    ccidcce32167  
       2013-12-12 11:37:11 +08:00
    @jjplay 为何我用鼠标右键点在新标签页打开不会触发跳转? 而且我用google搜索打开也不会 为何就百度会跳?
    jjplay
        17
    jjplay  
       2013-12-12 11:40:58 +08:00
    @ccidcce32167 因为 pinpai.php 是PHP文件,可以判断来路,他应该是在PHP里屏蔽了谷歌来路
    luikore
        18
    luikore  
       2013-12-12 11:46:36 +08:00   ❤️ 1
    请看 https://developer.mozilla.org/en-US/docs/Web/API/window.postMessage?redirectlocale=en-US&redirectslug=DOM%2Fwindow.postMessage , 跨窗口跨域通信, 检查 event.origin 就可以决定允许和不允许哪个域发过来的消息.
    clippit
        19
    clippit  
       2013-12-12 12:19:39 +08:00   ❤️ 4
    @romotc 一个很简单的手动办法,就是把 eval(function(...) {...} (...)) 去掉最开始的eval,给结尾加上.toString(),整个在控制台里执行一下,就得到解密后的字符串了。如果是多层加密,多操作几次就可以了。
    ccidcce32167
        20
    ccidcce32167  
       2013-12-12 15:31:44 +08:00
    @clippit 你好厉害 这样都行
    txlty
        21
    txlty  
       2013-12-12 16:47:55 +08:00
    “安全联盟提醒您:该页面可能已被非法篡改!”
    可怜的网站,被楼主黑暗森林攻击了。
    loryyang
        22
    loryyang  
       2013-12-12 16:50:30 +08:00
    好像已经不行了,是被百度干掉了?
    kalman03
        23
    kalman03  
       2013-12-12 17:39:55 +08:00
    这个叫爬虫劫持技术,你可以google下。
    9hills
        24
    9hills  
       2013-12-12 18:14:45 +08:00
    被百度标成风险了。。
    21grams
        25
    21grams  
       2013-12-12 18:58:15 +08:00
    哪里神奇了,没有哪个页面跳转了啊?
    leecade
        26
    leecade  
       2013-12-12 19:38:43 +08:00
    opener
    vibbow
        27
    vibbow  
       2013-12-14 06:36:22 +08:00
    FF下没效果?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5255 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 01:16 · PVG 09:16 · LAX 17:16 · JFK 20:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.