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

大神们帮我看看,是不是我的网站被挟持了?

  •  
  •   xw900812 · 2018-12-16 09:55:32 +08:00 · 1491 次点击
    这是一个创建于 1961 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我的网站域名是 http://weixia.info 或者 https://weixia.info

    正常显示应该是这样: https://s1.ax2x.com/2018/12/16/5QCfWz.jpg

    但今天突然显示是这个: https://s1.ax2x.com/2018/12/16/5QC8na.jpg

    是不是我的网站被劫持?我换了别的浏览器,有的时候显示正常博客,有的时候显示这个下载站?

    我是静态网站托管在 aws s3 上,然后使用 cloudfront 加速和强制 https,然后我是在美国,不存在运营商劫持吧?

    不知道是不是因为我使用了恶意代码造成的? 非常感谢!!! 我真的想不到哪儿出问题了。
    第 1 条附言  ·  2018-12-16 10:38:54 +08:00
    刚刚又可以看到这个劫持的电影下载站,我检查了页面元素,比如这个图片:
    https://s1.ax2x.com/2018/12/16/5QC7mH.jpg

    我非常确定 build 里根本没有 `/uploads/27985-pandokti2.jpg` 这个图片,我检查了 aws s3 的路径也显示没有,http://xxxxxxxxxxxx(我的 s3 域名).amazonaws.com/uploads/27985-pandokti2.jpg 这个显示我真实博客的 404 页面。

    所以问题出现在我的域名 weixia.info 了。

    请问我可以怎么排查原因?因为是偶发的,有的时候显示博客,有的时候显示电影下载站。
    第 2 条附言  ·  2018-12-16 10:55:09 +08:00
    再补充条线索。

    我在手机上尝试重现,在 WiFi 的状态下显示是电影下载站。

    马上切换成流量,又显示是正常博客,

    再切换成 WiFi, 又是电影下载站。

    是不是有可能是我的路由器被劫持了?那也很奇怪,为什么就只有我自己的博客会显示这样呢?其他网站都没问题。
    8 条回复    2018-12-17 06:53:10 +08:00
    yidinghe
        1
    yidinghe  
       2018-12-16 10:22:13 +08:00 via Android
    检查是否使用了非 HTTPS 的外部资源,检查哪个资源没有正确加载
    xw900812
        2
    xw900812  
    OP
       2018-12-16 10:41:04 +08:00
    @yidinghe 你好,谢谢你的回复。

    刚刚又可以看到这个劫持的电影下载站,我检查了页面元素,比如这个截图:

    https://s1.ax2x.com/2018/12/16/5QC7mH.jpg

    我非常确定 build 里根本没有 `/uploads/27985-pandokti2.jpg` 这个图片,我检查了 aws s3 的路径也显示没有,http://xxxxxxxxxxxx(我的 s3 域名).amazonaws.com/uploads/27985-pandokti2.jpg 这个显示我真实博客的 404 页面。(如果显示博客正常,和 https://weixia.info/uploads/27985-pandokti2.jpg 显示 404 是一样的,如果是显示电影站,就是一个电影的海报。)


    请问我可以怎么排查原因?因为是偶发的,有的时候显示博客,有的时候显示电影下载站。
    p1llar
        3
    p1llar  
       2018-12-16 10:50:57 +08:00
    不用排查了,肯定是有些 JS 没走 https 被劫持

    解决方式:
    1. ng 加一个 http->https 的重定向
    2. 加一个 Upgrade-Insecure-Requests header
    yidinghe
        4
    yidinghe  
       2018-12-16 10:58:15 +08:00
    @xw900812 在浏览器上按 F12 排查啊,楼主应该是会前端开发的吧。
    xw900812
        5
    xw900812  
    OP
       2018-12-16 11:02:33 +08:00
    @yidinghe 对, 我刚刚查了 dev tool 里的网络请求了,全部都是 https 的请求,有 3 个外部 js 请求,一个 jQuery, 一个 cloudfare,另外一个不认识,我把那个不认识的替换成 local js,看看能不能解决问题。
    xw900812
        6
    xw900812  
    OP
       2018-12-16 11:04:48 +08:00
    @p1llar 谢谢哥们!!我尝试解决下。非常感谢!
    id7368
        7
    id7368  
       2018-12-17 04:08:16 +08:00
    都 8102 年了还不上 HTTPS 啊...哦,上了啊,跳转到别的域名肯定是劫持啊,看了下加载的 js 应该没问题,那就 DNS 劫持了呗,既然用 cloudflare 的顺手开 DNSSEC 啊,抗 DNS 劫持呀
    xw900812
        8
    xw900812  
    OP
       2018-12-17 06:53:10 +08:00
    @id7368 对啊,我全部的请求全是 https,所以不懂这个劫持哪儿来的?如果是 DNS 的话,我是用的是 aws 的 route 53,aws 也会被劫持?之前没遇到这样的情况,所以不是很懂。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5575 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 06:55 · PVG 14:55 · LAX 23:55 · JFK 02:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.