V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
qcloud
V2EX  ›  问与答

我录制了一个视频,麻烦各位老司机给看看这是啥劫持。

  •  
  •   qcloud · 2016-05-11 20:02:39 +08:00 · 3417 次点击
    这是一个创建于 2904 天前的主题,其中的信息可能已经有所发展或是发生改变。
    如题,大家看视频吧。
    视频上传到了 56 和腾讯视频,结果都给删除了(无脑审核),然后就上传到了 YouTube ,还有一个下载链接( 16.3MB )
    https://youtu.be/CJrLvv9RRy4
    下载链接: http://t.cn/RqBpBWG
    第 1 条附言  ·  2016-05-12 09:23:46 +08:00
    已经上传优酷:
    第 2 条附言  ·  2016-05-12 09:24:39 +08:00
    31 条回复    2016-05-12 14:13:42 +08:00
    FunnyFun
        1
    FunnyFun  
       2016-05-11 20:13:03 +08:00
    没看懂, 很神奇, 看看楼下的怎么说
    abelyao
        2
    abelyao  
       2016-05-11 20:16:03 +08:00 via iPhone
    利用 js 把来路窗口做跳转,以前 v2 上有人发过的,可以搜一下
    alexapollo
        3
    alexapollo  
       2016-05-11 20:20:02 +08:00
    有意思,目标网页篡改了原网页
    abelyao
        4
    abelyao  
       2016-05-11 20:22:05 +08:00 via iPhone
    window.opener.location.replace(url);
    qcloud
        5
    qcloud  
    OP
       2016-05-11 21:48:06 +08:00
    @abelyao 有办法可以防止这样做吗?
    popok
        6
    popok  
       2016-05-11 23:25:44 +08:00
    qcloud
        7
    qcloud  
    OP
       2016-05-11 23:34:46 +08:00
    @popok 我刚才在看源代码发现这个了,没仔细看,果然在这里,牛逼啊老兄,试问能解决这种情况吗?
    maskerTUI
        8
    maskerTUI  
       2016-05-11 23:35:21 +08:00
    用 https 呀
    qcloud
        9
    qcloud  
    OP
       2016-05-11 23:40:10 +08:00
    @maskerTUI QAQ ,你没看百度用的 https 还是被跳转了吗。。。。。
    lroolle
        10
    lroolle  
       2016-05-11 23:41:31 +08:00
    没看懂。。
    qcloud
        11
    qcloud  
    OP
       2016-05-11 23:42:06 +08:00
    @lroolle 这就非常尴尬了。。。。
    popok
        12
    popok  
       2016-05-12 00:07:17 +08:00
    @qcloud 这个就是 javascript 让父框架跳转, https 也没用吧,防止的话,应该可以用 Tampermonkey 通过代码劫持这种跳转吧,反正我不会。
    popok
        13
    popok  
       2016-05-12 00:49:44 +08:00
    Tampermonkey 新建一个脚本
    加载位置设置为 document-start ,执行代码 parent.window.opener=null;
    匹配规则按你自己需要设置。
    maskerTUI
        14
    maskerTUI  
       2016-05-12 01:56:56 +08:00
    @qcloud (#゚Д゚) 没仔细看
    qcloud
        15
    qcloud  
    OP
       2016-05-12 09:07:57 +08:00
    @popok QAQ 这不是浏览器插件吗
    yeyeye
        16
    yeyeye  
       2016-05-12 09:11:55 +08:00
    乌云曾有这方面的帖子 不同的浏览器策略不同 不是全部都可以跳转的 恐怕就只有 popok 的

    @popok 应该判断一下 referer 是同一站点的话就不要这样做了 以免有的非恶意的情况下用了它
    yeyeye
        17
    yeyeye  
       2016-05-12 09:13:46 +08:00
    另外,这其实也算一个安全漏洞,因为如果跳转到的是一个高仿的登录页,一不小心你就会输入账号(判断你用的搜索引擎,然后跳转到对应站点的登录界面的高仿页面)
    yeyeye
        18
    yeyeye  
       2016-05-12 09:38:37 +08:00
    刚要实验一下 结果视频已经被楼主删了 晕
    qcloud
        19
    qcloud  
    OP
       2016-05-12 09:46:39 +08:00
    @yeyeye
    这里有啊 QAQ
    qcloud
        20
    qcloud  
    OP
       2016-05-12 09:47:29 +08:00
    @yeyeye 第二条附言那边
    kamal
        21
    kamal  
       2016-05-12 10:04:18 +08:00   ❤️ 1
    qcloud
        22
    qcloud  
    OP
       2016-05-12 10:22:04 +08:00
    @kamal 英语看不懂啊 兄弟,能给指点下吗。。。
    qcloud
        23
    qcloud  
    OP
       2016-05-12 10:29:11 +08:00
    @kamal 是这样吗
    <a href="..." rel="noreferrer" target="_blank"> has the same behaviour as <a href="..." rel="noreferrer noopener" target="_blank">.
    ejin
        24
    ejin  
       2016-05-12 10:51:41 +08:00
    依照 @popok 和 @yeyeye 的想法做了一个脚本 完美解决

    专门开了个主题 楼主快来 https://www.v2ex.com/t/278112


    @qcloud @FunnyFun @abelyao @alexapollo @popok @maskerTUI @lroolle @yeyeye @kamal
    ejin
        25
    ejin  
       2016-05-12 10:52:50 +08:00
    @qcloud 我想转载你这个视频,有没有问题
    qcloud
        26
    qcloud  
    OP
       2016-05-12 11:00:53 +08:00
    @ejin 可以的,我看了一下 @kamal 的文章,使用 rel="noreferrer"似乎已经解决了这个问题!目前还在观察中,谢谢你的解决方案。
    ucaime
        27
    ucaime  
       2016-05-12 11:19:43 +08:00
    我看了视频才想起来之前也遇到过。当时猜测以下两种可能:
    1. 只在北京鹏博士旗下宽带接入遇到过。
    2. 只在盗版海蜘蛛路由下遇到过(可能是官方有什么后门搞得?)

    在 VPN 到国内任何一个节点后,劫持消失

    做过分析:无 js 侵入,即使 curl 依然返回的是劫持后的页面。楼下可以把这点作为考虑条件。
    kamal
        28
    kamal  
       2016-05-12 11:54:19 +08:00
    @qcloud rel=noopener 浏览器支持情况不是很好,也可以考虑链接不要加 _blank 、跳转站外的链接多一步中间页面跳转。
    qcloud
        29
    qcloud  
    OP
       2016-05-12 12:10:00 +08:00
    @kamal 不加_blank 不是很方便呢。。。目前看来还可以使用 rel=noopener
    qcloud
        30
    qcloud  
    OP
       2016-05-12 12:17:03 +08:00
    @kamal 对浏览器的支持不好到什么程度,哥们
    popok
        31
    popok  
       2016-05-12 14:13:42 +08:00 via iPhone
    @qcloud 对啊,一个浏览器脚本管理插件,很方便的,可以在符合条件的页面插入你自己的 JavaScript 脚本。
    当然,你直接写到一个 js 文件,然后直接在浏览器扩展那里安装也行。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1424 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 23:50 · PVG 07:50 · LAX 16:50 · JFK 19:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.