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

网站被劫持,求解决方案

  •  
  •   4578004 · 2019-06-23 20:42:46 +08:00 · 5063 次点击
    这是一个创建于 1740 天前的主题,其中的信息可能已经有所发展或是发生改变。

    http://exxvip.com/ 打开就会跳转到博彩网站,使用 https 访问正常,开启了 HSTS 貌似不起作用;

    查看解析的 IP 确实是 cloudflare 的节点 IP,但 response 头信息不对,似乎是被运营商劫持了

    34 条回复    2021-01-08 22:45:58 +08:00
    lisonfan
        1
    lisonfan  
       2019-06-23 20:44:37 +08:00
    我这能直接打开,DNS 劫持你没点办法的,腾讯他们联名发文还是一样没解决
    jianjian001
        2
    jianjian001  
       2019-06-23 20:59:07 +08:00   ❤️ 1
    上海电信,跳转 https://3377001.com
    wlchn
        3
    wlchn  
       2019-06-23 20:59:51 +08:00
    在 Cloudflare 的 Crypto 中选择 Always Use HTTPS,SSL 选择 full 或 full district 试试?
    lekai63
        4
    lekai63  
       2019-06-23 21:00:51 +08:00 via iPhone
    杭州移动 没问题
    全球区块链资产交易中心
    4578004
        5
    4578004  
    OP
       2019-06-23 21:10:52 +08:00
    @wlchn
    这是劫持之后的响应头信息:

    Remote address: 104.23.190.70:80

    HTTP/1.1 200 OK
    Server: nginx/1.12.2
    Date: Sun, 23 Jun 2019 13:06:11 GMT
    Content-Type: text/html
    Last-Modified: Sun, 23 Jun 2019 05:21:51 GMT
    Transfer-Encoding: chunked
    Connection: keep-alive
    ETag: W/"5d0f0c6f-253"
    Content-Encoding: gzip


    正常应该是:

    HTTP/1.1 301 Moved Permanently
    Date: Sun, 23 Jun 2019 13:10:26 GMT
    Transfer-Encoding: chunked
    Connection: keep-alive
    Cache-Control: max-age=3600
    Expires: Sun, 23 Jun 2019 14:10:26 GMT
    Location: https://www.exxvip.com/
    Vary: Accept-Encoding
    Server: cloudflare
    CF-RAY: 4eb6b3bf5ec484ee-HKG
    welling
        6
    welling  
       2019-06-23 21:11:35 +08:00
    这真的不是广告?。。
    https 也是博彩
    wlchn
        7
    wlchn  
       2019-06-23 21:15:08 +08:00
    建议你在 crypto 中 SSL 开启 full 模式,然后开启 Always Use HTTPS 这个选项。这样任何请求打到你的服务器上都是 443 端口。至于证书 full 模式你可以自己随便生成一个证书,或者在 Origin Certificates,create,域名输入 example.com 和*.example.com (你的域名)。
    4578004
        8
    4578004  
    OP
       2019-06-23 21:18:36 +08:00
    @wlchn 已经是这样配置了,还是一样
    4578004
        9
    4578004  
    OP
       2019-06-23 21:20:25 +08:00
    @welling https 正常,响应头全部是 cloudflare
    syuraking
        10
    syuraking  
       2019-06-23 21:21:11 +08:00
    自己的就不要让你套 CF,
    早就已经有这种劫持了,国内的问题,
    感觉这样的话,封杀套 CF 的域名一抓一个稳……
    wlchn
        11
    wlchn  
       2019-06-23 21:21:53 +08:00
    @4578004 你机器 ssl 配置有问题吧 访问 https://exxvip.com 响应 502
    miyuki
        12
    miyuki  
       2019-06-23 21:22:36 +08:00
    4578004
        13
    4578004  
    OP
       2019-06-23 21:26:39 +08:00
    @wlchn 这个问题不大,加上 www 访问即可。
    4578004
        14
    4578004  
    OP
       2019-06-23 21:27:03 +08:00
    @miyuki 这个看过了,一样的问题。。目前除了用 https,无解。
    leo7476040305
        15
    leo7476040305  
       2019-06-23 21:27:54 +08:00 via iPhone
    4578004
        16
    4578004  
    OP
       2019-06-23 21:32:49 +08:00
    @leo7476040305 劫持把原本 302 跳转 https 的响应替换成了这段跳菠菜的响应。。。。
    wlchn
        17
    wlchn  
       2019-06-23 21:33:08 +08:00
    @4578004 访问 https://不带 www 你的域名 响应 502, 问题不大? 如果 1.你开启 ssl full,2. Always Use HTTPS,3.机器配置好证书,访问 http://不带 www 你的域名 正常是先会跳转到 https://不带 www 你的域名 的,然后你这个响应 502 问题不大?
    leo7476040305
        18
    leo7476040305  
       2019-06-23 21:41:47 +08:00 via iPhone
    @4578004 https 国外 IP 显示 502,国内正常,可以考虑把首页跳转的逻辑移到后端处理,把那个 js 里的域名配置加密一下看看会不会解决,其实直接强制跳转 https 就好了啊
    4578004
        19
    4578004  
    OP
       2019-06-23 21:45:53 +08:00
    @wlchn ..好的老板,修复好了。。
    4578004
        20
    4578004  
    OP
       2019-06-23 21:46:39 +08:00
    @leo7476040305 https 跳转 502 修好了,关键问题 http 跳菠菜无解。。。
    leo7476040305
        21
    leo7476040305  
       2019-06-23 21:48:47 +08:00 via iPhone
    @4578004 怀疑菠菜更改了你首页 js 配置里的域名
    wlchn
        22
    wlchn  
       2019-06-23 21:59:41 +08:00
    @4578004 如果你确实 1.开启 ssl full,2. Always Use HTTPS,3.机器配置证书没问题。那么问题应该是中间人劫持了。当发起 http 请求,还没有到 cloudflare 的时候已经被劫持了。
    看了你 https 正常的响应中
    strict-transport-security: max-age=0; preload
    max-age=0 表明你的 HSTS 没有生效。你可以设成半年或一年试试。但开启了 HSTS 可能还是会被劫持,原理是 HSTS 对于新客户第一次 http 访问是不会在浏览器直接转 https 的。
    如果想让 http 访问从第一次就一直在浏览器直接转 https,需要加到 preload list 中,并且所有子域名都必须 https,而且这需要一些时间更新,但是可以解决中间人劫持问题。
    leo7476040305
        23
    leo7476040305  
       2019-06-23 22:01:22 +08:00 via iPhone
    @4578004 看你 nameserver 是 dnspod 的,可以试下阿里云的看看还会不会出现这个问题
    Myprincess
        24
    Myprincess  
       2019-06-23 22:10:54 +08:00
    我被劫持过三次
    第一次,腾讯云电话警告.
    第二次,阿里云域名 HOLD 住,很难解封.因为域名在阿里云.服务器在腾讯云.第二次是没有任何警告的,直接封.然后提供公安部备案,阿里云放行,但是还是被 XX 联盟封杀.申诉需要 28 天.
    第三次又被劫持.我删除了网站,进行转移.幸亏没被烧扫描到.如果第三次被抓,全线挂.不解封.
    4578004
        25
    4578004  
    OP
       2019-06-23 22:15:14 +08:00
    @wlchn 全部配置妥当了,还是不行,只要是 http 请求,回来的东西就被中间商改掉了。。
    4578004
        26
    4578004  
    OP
       2019-06-23 22:16:16 +08:00
    @leo7476040305 解析是没问题的,目标 IP 都对
    4578004
        27
    4578004  
    OP
       2019-06-23 22:16:41 +08:00
    @Myprincess 域名在狗爹应该没问题
    miyuki
        28
    miyuki  
       2019-06-23 22:21:36 +08:00
    @leo7476040305 cloudflare 的 ip 被劫持过,这个大概率不是源站问题…


    前不久直接访问 ip 也会被劫持 /t/572031

    如果没记错的话 https://imgcdn.lgjuzi.com/img/ekUr9cUR1PoMNHd5nfTDcpmFZM269mvv1Y2FBh0NlS2xjS964on2owNpnPhT6xVLSHja2RsA57.jpg 这段代码的跳转内容,和另一个帖子里看到的菠菜站一样
    wlchn
        29
    wlchn  
       2019-06-23 22:25:22 +08:00
    @4578004 HSTS 生效了!你在非隐身模式 http://www.exxvip.com 是已经可以了,但是你的非 www 域名返回中没有 strict-transport-security 字段,需要加上。这样你访问过之后跳转 https 就都是在浏览器跳转不存在劫持了。

    但是隐身模式或者第一次访问还是不会在浏览器跳 https,见我在 22 楼的回复。
    mytsing520
        30
    mytsing520  
       2019-06-24 06:59:23 +08:00
    你们都讨论些什么呀。。
    确认不是楼主网站本身就被劫持了么
    agee
        31
    agee  
       2019-06-24 09:20:29 +08:00 via iPhone
    先解析到一个空的静态页面测试一下是不是站点有问题吧。
    loukky
        32
    loukky  
       2019-06-24 14:15:58 +08:00
    前几天不是在讨论吗???国内 tcp 链接 cf 某些 IP 会劫持到菠菜站
    7DLNU56W
        33
    7DLNU56W  
       2019-06-24 15:53:55 +08:00
    据我所知,遇到劫持没有好的解决方案,只能通过投诉、诉讼来解决。借助技术手段上 HTTPS 也只能在遇到劫持时停止继续访问,无法从根本上解决劫持问题(不过不排除有写中间人看到 https 就不再劫持的情况),HSTS 是需要客户端访问过一次后才会生效的,如果还没有加入客户端的 HSTS 列表还可能是会遇到降级攻击的。
    SHENGXINKAI
        34
    SHENGXINKAI  
       2021-01-08 22:45:58 +08:00
    Gworg 里面拿到 SSL 证书,服务器配置后增加 HSTS 随后去浏览器提交一下 HSTS,强制 301 跳转与 TLS1.2,服务器最好支持 HTTP2.0 协议,如果是有推广链接在做全部改成 HTTPS 协议,用户访问提示用户已 HTTPS 访问就可以了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1490 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 17:20 · PVG 01:20 · LAX 10:20 · JFK 13:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.