中国移动太贱了, https 都能挟持

2017-12-14 10:35:03 +08:00
 stevenkang

周末的时候安全证书到期了,替换了新的证书,周一上班的时候部分用户反馈网站无法正常访问,用很多设备进行排查都没有找到原因,直到今天发现,CDN 上的 js 竟然被运营商替换了,我们全站用的都是 https 链接,怎么会被替换呢,完全没想到是这种可能;

以下的我用浏览器正常访问以及客户访问的截图,同样都是走的 https 协议: https://img.51checai.com/upload/lib/validate/jquery.validate.method.min.js

莫非运营商在我更换证书的期间挟持并缓存了内容?

5958 次点击
所在节点    SSL
25 条回复
iyaozhen
2017-12-14 11:00:43 +08:00
你这没强制 https,是不是访问 http 的时候被运营商替换了
stanjia
2017-12-14 11:02:52 +08:00
qq 秀不错。
morethansean
2017-12-14 11:10:10 +08:00
你们网站是强制 https 的吗?还是 http 也能返回结果的?另,你 CDN 回源的时候选了强制 https 吗?
suikator
2017-12-14 11:51:21 +08:00
HSTS
isCyan
2017-12-14 12:42:40 +08:00
应该是 CDN 回源的时候被劫持了? CDN 回源有 HTTPS 吗?
honeycomb
2017-12-14 12:43:13 +08:00
检查 cdn 回源
des
2017-12-14 12:51:41 +08:00
后排提醒,有些无良 cdn 商也是可能会插广告的
NemoAlex
2017-12-14 13:18:35 +08:00
楼上说的都对,后后排提醒,无良浏览器以及无良浏览器扩展,在用户端也是可以为所欲为的。
yingfengi
2017-12-14 13:24:41 +08:00
是否全局 https
CDN 回源是否 https
CDN 哪家的
ctsed
2017-12-14 13:42:56 +08:00
后排贴墙提醒:楼上们看过 lz 给的截图代码没就认为存在劫持?给的手机截图和劫持有一丁点关系???有一个字是弹广告相关的吗?里面的代码是加载 js,域名也是 lz 自己的,第二段代码加载的是本地的一个打包后的 js,开发环境代码没编译就发到 cdn 了,甩锅给移动?
stevenkang
2017-12-14 15:36:00 +08:00
统一回复,我们主站 www 强制的 https 访问,客户访问时也是 https 协议,主要是 CDN 上面的 js 没有强制 https,但是在代码里面引入的时候是走的 https 应该不会有问题才对
stevenkang
2017-12-14 15:36:10 +08:00
CDN 用的阿里云的
stevenkang
2017-12-14 15:38:53 +08:00
@isCyan 有可能是回源的时候被挟持了,不过我们的 js 全部放在阿里云 oss 上面的,CDN 回源直接走的 oss 网址,运营商能挟持阿里云两款产品之间的通讯也太屌了嘛
stevenkang
2017-12-14 15:43:07 +08:00
@ctsed 你可以访问一下那个 js 验证你说的对不对,如果说是没编译就发到 cdn 上了,那所有人都会访问到那个被修改过后的内容,客户和我访问同样的地址,我的是正常的,客户的是被修改过的,这不是劫持那是什么
ctsed
2017-12-14 16:00:32 +08:00
@stevenkang 可能有缓存,造成这问题原因如楼上列举的有很多可能,你仔细看下手机截图,里面都是正常加载逻辑,最后加载一个本地的 bundle,可有一句广告代码?

https 除非中间人证书,浏览器会弹告警手动忽略才能访问,否则劫持不了,你看你 qq 的图是不是 https 的?

这种访问异常问题就得一步一步确认,自己排查问题都不上心,骂两句移动再跟我怼能解决问题?反正是你们公司问题也不关我事,祝早日倒闭
b821025551b
2017-12-14 16:12:33 +08:00
不负责任瞎猜一下:
开发版本不小心发布了->赶紧改成生产版本->这时候 client 已经加载过开发版,而且网站引用 js 的地方都没有加时间戳刷新->client 用的还是开发版
stevenkang
2017-12-14 16:40:33 +08:00
@ctsed 已 Blocked
@b821025551b 你的这种猜测在别的公司有可能发生,我们这里 cdn 上存放的大多都是第三方 js 或者一两年都不会改一次的 js,我们的前端 js 代码并未使用编译器,仅仅是用的很原始的开发流程,不存在编译的过程。cdn 上的文件都是存放 oss 上的,任何开发人员都没有修改的权限。oss 上只允许新增 js,不允许删除、修改任何 js,而且必须写邮件提交 之后才会存放在 oss 上,之后就一直不会去修改和删除了
stevenkang
2017-12-14 16:42:32 +08:00
@isCyan 刚联系阿里云方排查了一下,CDN 回源正常的,因为用的 oss 出现异常的可能性实际上也小。现在排查之后可以确认是客户访问 CDN 节点时被挟持了,奇怪的是走的 https 协议也被挟持,还给我们转成 http 协议来加载了
hgc81538
2017-12-14 16:46:25 +08:00
可能是用戶的 App 挟持了通讯
stevenkang
2017-12-14 16:46:33 +08:00
@morethansean 是强制 https 访问,http 访问会被重定向到 https 上,cdn 没有强制 https,怀疑客户访问我们其他网站的时候,页面引入了 http 协议的 cdn 文件时被挟持了,客户在访问主站时使用的被挟持的缓存文件

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/414603

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX