V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
l1fan
V2EX  ›  程序员

jd.com https 被劫持是什么原因?

  •  1
     
  •   l1fan · Mar 7, 2018 · 5718 views
    This topic created in 2978 days ago, the information mentioned may be changed or developed.

    今天上京东时被劫持到 jiechi 第一反应就是妈蛋被运营商劫持了=,= 返回上页看了眼 url O。O https 的,但我知道的是 https 不会被劫持。而且我印象里也没导入过什么乱七八糟的根证书。 这是什么原因呢? 我在手机上试了也会被劫持,chrome 里看到是 302 跳转 chrome

    36 replies    2018-03-08 10:48:01 +08:00
    Finest
        1
    Finest  
       Mar 7, 2018
    DNS 劫持??或者你装了什么奇怪的根证书?
    scriptB0y
        2
    scriptB0y  
       Mar 7, 2018
    DNS 是明文的,在 HTTPS 之前就被劫持了。
    kskdnda
        3
    kskdnda  
       Mar 7, 2018 via iPhone
    如果 https 都能避免劫持,那么 vpn 还有存在的意义吗
    Zzzzzzzzz
        4
    Zzzzzzzzz  
       Mar 7, 2018
    插件吧
    echo365
        5
    echo365  
       Mar 7, 2018
    浏览器插件。路由器插件。。。。。。
    lscho
        6
    lscho  
       Mar 7, 2018
    我的百度首页 https 也会劫持,怀疑是路由器的问题,feuxun 的。。。。
    lscho
        7
    lscho  
       Mar 7, 2018
    @lscho feixun
    gamexg
        8
    gamexg  
       Mar 7, 2018 via Android
    https 证书是?
    morethansean
        9
    morethansean  
       Mar 7, 2018
    curl -vvI https://item.jd.com/12006637.html --resolve item.jd.com:42.236.8.129

    看看证书呢?
    ooooo
        10
    ooooo  
       Mar 7, 2018
    换个不带插件的浏览器试试
    手机端 wifi 试试
    问题要说清楚,大家才好排查...................
    dahounet
        11
    dahounet  
       Mar 7, 2018
    检查 https 证书先
    crz
        12
    crz  
       Mar 7, 2018
    抓包看看?
    breeswish
        13
    breeswish  
       Mar 7, 2018
    先把证书发出来
    terence4444
        14
    terence4444  
       Mar 7, 2018 via iPhone
    LSP 可以劫持吗?
    582033
        15
    582033  
       Mar 7, 2018
    之前发的, 楼主参考下? https://www.v2ex.com/t/412011
    TestSmirk
        16
    TestSmirk  
       Mar 7, 2018
    这不是 302 了吗..
    TestSmirk
        17
    TestSmirk  
       Mar 7, 2018
    302 到 http 连接了估计
    l1fan
        18
    l1fan  
    OP
       Mar 7, 2018
    @morethansean
    ```
    * Couldn't parse CURLOPT_RESOLVE entry 'item.jd.com:42.236.8.129'!
    * Trying 42.236.8.129...
    * TCP_NODELAY set
    * Connected to item.jd.com (42.236.8.129) port 443 (#0)
    * ALPN, offering h2
    * ALPN, offering http/1.1
    * Cipher selection: ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH
    * successfully set certificate verify locations:
    * CAfile: /etc/ssl/cert.pem
    CApath: none
    * TLSv1.2 (OUT), TLS handshake, Client hello (1):
    * TLSv1.2 (IN), TLS handshake, Server hello (2):
    * TLSv1.2 (IN), TLS handshake, Certificate (11):
    * TLSv1.2 (IN), TLS handshake, Server key exchange (12):
    * TLSv1.2 (IN), TLS handshake, Server finished (14):
    * TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
    * TLSv1.2 (OUT), TLS change cipher, Client hello (1):
    * TLSv1.2 (OUT), TLS handshake, Finished (20):
    * TLSv1.2 (IN), TLS change cipher, Client hello (1):
    * TLSv1.2 (IN), TLS handshake, Finished (20):
    * SSL connection using TLSv1.2 / ECDHE-RSA-AES256-GCM-SHA384
    * ALPN, server accepted to use h2
    * Server certificate:
    * subject: C=CN; ST=beijing; L=beijing; O=BEIJING JINGDONG SHANGKE INFORMATION TECHNOLOGY CO., LTD.; CN=*.jd.com
    * start date: Jul 4 05:47:07 2017 GMT
    * expire date: Aug 28 09:42:54 2018 GMT
    * subjectAltName: host "item.jd.com" matched cert's "*.jd.com"
    * issuer: C=BE; O=GlobalSign nv-sa; CN=GlobalSign Organization Validation CA - SHA256 - G2
    * SSL certificate verify ok.
    * Using HTTP2, server supports multi-use
    * Connection state changed (HTTP/2 confirmed)
    * Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
    * Using Stream ID: 1 (easy handle 0x7fe215806600)
    > HEAD /12006637.html HTTP/2
    > Host: item.jd.com
    > User-Agent: curl/7.54.0
    > Accept: */*
    >
    * Connection state changed (MAX_CONCURRENT_STREAMS updated)!
    < HTTP/2 200
    HTTP/2 200
    < server: JDWS/2.0
    server: JDWS/2.0
    < date: Wed, 07 Mar 2018 08:29:00 GMT
    date: Wed, 07 Mar 2018 08:29:00 GMT
    < content-type: text/html; charset=gbk
    content-type: text/html; charset=gbk
    < content-length: 96167
    content-length: 96167
    < vary: Accept-Encoding
    vary: Accept-Encoding
    < ser: 109.29
    ser: 109.29
    < expires: Wed, 07 Mar 2018 08:29:01 GMT
    expires: Wed, 07 Mar 2018 08:29:01 GMT
    < cache-control: max-age=60
    cache-control: max-age=60
    < last-modified: Wed, 07 Mar 2018 08:28:05 GMT
    last-modified: Wed, 07 Mar 2018 08:28:05 GMT
    < hh: 1-1
    hh: 1-1
    < via: BJ-Y-NX-106(HIT), http/1.1 ZZ-UNI-1-JCS-155 ( [cSsSfD])
    via: BJ-Y-NX-106(HIT), http/1.1 ZZ-UNI-1-JCS-155 ( [cSsSfD])
    < age: 0
    age: 0

    <
    * Connection #0 to host item.jd.com left intact
    ```
    honeycomb
        19
    honeycomb  
       Mar 7, 2018
    楼主考虑一下 @582033 提到的可能性,浏览器有供扩展使用的 WebRequest API,可供恶意扩展程序滥用
    honeycomb
        20
    honeycomb  
       Mar 7, 2018
    Chrome 官方有提供一个 The Chrome Apps Developer Tool,可以检查某个期间哪些扩展具体动用了哪些 API,可供排查。

    https://chrome.google.com/webstore/detail/chrome-apps-extensions-de/ohmmkhmmmpcnpikjeljgnaoabkaalbgc
    l1fan
        21
    l1fan  
    OP
       Mar 7, 2018
    @ooooo 我写了哦 用手机访问一样被劫持,手机用的 safari。 所以基本肯定不是插件或电脑的问题。而且证书 chrome 验证也没问题。主要想讨论的点是运营商通过什么手段劫持甚至修改了 https 内容
    ysc3839
        22
    ysc3839  
       Mar 7, 2018
    @l1fan 先想办法查看是什么证书。
    ysc3839
        23
    ysc3839  
       Mar 7, 2018
    @l1fan Chrome DevTools 选择 Security,然后访问看看。
    l1fan
        24
    l1fan  
    OP
       Mar 7, 2018
    wormcy
        25
    wormcy  
       Mar 7, 2018
    浏览器扩展有没有问题
    imlink
        26
    imlink  
       Mar 7, 2018 via Android   ❤️ 1
    @l1fan 这个 302 应该是 https://item.jd.com 发起的,它可能要跳转某 http://item2.jd.com 而这个 http 被挟持了
    morethansean
        27
    morethansean  
       Mar 7, 2018 via Android
    @imlink 楼主截图不是写了直接跳了那个劫持网站...
    ptyfork
        28
    ptyfork  
       Mar 7, 2018
    @imlink
    不可能,1 楼的截图,302 location 头部是在 https 内完成的,这个 location 是 p .egou.com, 如果是跳转某 http://item2.jd.com 被劫持,这需要两次独立的 http 请求。
    jingniao
        29
    jingniao  
       Mar 7, 2018
    我在想,会不会真的是京东的 cdn 有问题?
    ptyfork
        30
    ptyfork  
       Mar 7, 2018
    @jingniao

    我也觉得可能是内鬼, 有些做 cdn 的,最前面用了 https, 到上游还在用 http 的情况。

    这个应该发到工单节点是不是好点?
    imlink
        31
    imlink  
       Mar 7, 2018
    @ptyfork 如果是 cdn 的话这个 http://tieba.baidu.com/p/4890556666 也是一样的?
    Infernalzero
        32
    Infernalzero  
       Mar 7, 2018
    说明狗东没加 HSTS,加了以后是 307 就不会被拦截
    cname
        33
    cname  
       Mar 7, 2018 via Android
    https everywhere 扩展或者改 DNS
    aksoft
        34
    aksoft  
       Mar 8, 2018
    我的也被劫持了
    aksoft
        35
    aksoft  
       Mar 8, 2018
    应该不是 dns,可能是扩展或者插件,firefox
    chrome 没遇到
    aksoft
        36
    aksoft  
       Mar 8, 2018
    我把插件都删了也不行。。我错了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2640 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 115ms · UTC 14:33 · PVG 22:33 · LAX 07:33 · JFK 10:33
    ♥ Do have faith in what you're doing.