论 SSL 有用吗? HTTPS(RapidSSL SHA256 CA - G3)了为何还是被电信劫持?

2015-11-11 18:20:22 +08:00
 oldcai

事情是这样的

以前在深圳的时候,经常打开 V2EX 都会变成一整张某信广告,

现在这个项目因为 BOSS 对用户的隐私和安全性要求很高,产品网站是使用的是收费的 SSL 证书的 https ,我想这样也可以防止一些运营商插广告的行为,是很赞的一件事。

however ,有一个可♀爱的男同事,他发现我们官网总是被劫持,地点也是深圳。

如图:

图 1 : 被劫持后

这个症状和这篇帖子里面 @chinaglwo 描述的一样。

然后我观察了一下我们的证书对比

图 2 : 我的大约没被劫持的情况下的

图 3 : 可♀爱的男同事的浏览器被劫持的情况下的(快看可♀爱的收藏夹)

此网站的身份已通过了 RapidSSL SHA256 CA - G3 的验证。服务器未提供任何 Certificate Transparency 信息。

然而说好的担保金是真的吗

图 4 : 10,000 刀担保金的广告

忽然想到购买 SSL 证书的时候,有担保金这件事,所以也想来 V2EX 算一卦, HTTPS 了还是被劫持,拿不拿得到保险金呢?

附:忽然发现 @朱一君的微博图床(最新版)不能上传了,图床用的 imgur ,所以如果看不到图,方便的话,希望可以随手翻一下墙才可以看到。

9898 次点击
所在节点    问与答
65 条回复
oldcai
2015-11-11 20:05:54 +08:00
@lhbc 被劫持的是 https://zine.la/editor/ 这个地址,是一个静态页面。
对应文件已经核对过了,没有被修改,而且不在 cdn 上。
virusdefender
2015-11-11 20:06:47 +08:00
被劫持的时候检查下别的 js ,看哪个是被改动的
virusdefender
2015-11-11 20:10:31 +08:00
自己检查那个 http 的七牛的 js ,估计就是这的问题。

抓包,不要直接看浏览器,浏览器是 js 执行之后的,可能有一些伪装。
lhbc
2015-11-11 20:13:58 +08:00
@oldcai 看下浏览器上的证书指纹
如果指纹和服务器的一致,那只有两个可能:
1 、中间人拿到了你的私钥
2 、浏览器

不一致的话,肯定是中间人

另外,页面引用的 js 也可以插入内容
nbndco
2015-11-11 20:14:44 +08:00
有试过用别的浏览器或者手机浏览器打开看看么?
总觉得应该是浏览器里某些插件插进去的。
honeycomb
2015-11-11 20:17:31 +08:00
这个看上去像是服务器在提供资源之前就有劫持,被插入了这个内容,然后有这个页面
请尝试在手机端的浏览器复现(Chrome 可以通过 ADB 调试),因为不能保证电脑不中毒

为什么呢:
1 ,从截图来看,加密套件是 PFS(使用了 ECDHE_RSA 密码交换算法)的,无法用上级证书解密
2 , 1 意味着需要单独为你们网站伪造一个合法证书才能实行(解密 TLS->插入劫持内容->再加密成让浏览器识别不出已受到攻击的)攻击
3 ,实施 2 程度的攻击得是国家支持级的才说得过去

有关 PFS(完全正向保密)
http://www.infoq.com/cn/articles/keeping-your-secrets
https://en.wikipedia.org/wiki/Forward_secrecy
yexm0
2015-11-11 20:19:18 +08:00
好像还真被劫持了也,我不挂 ss 时的

挂了 ss 的时候
oldcai
2015-11-11 20:23:42 +08:00
@honeycomb 十分让人信服。

@lhbc
然而我同事那边的问题 忽然不复现了,只能等下一次出现再对比一下指纹了。
honeycomb
2015-11-11 20:24:46 +08:00
@oldcai
抱歉没说清楚:
1 ,
这个页面似乎是在被你们的那份证书私钥最终地加密以前,就已经遭到了篡改
2 ,
关于浏览器扩展是否参与了劫持
比方说,我在用 uMatrix ,加载了这个页面后,打开开发者工具能看到页面中被插入了 uMatrix 的代码,这个过程不会触发 HTTPS 指示器报警


;(function() {
try {
/* https://github.com/gorhill/uMatrix/issues/61#issuecomment-63814351 */
var navigator = window.navigator;
var spoofedUserAgent = "Mozilla/5.0 ****************************************************************************";
if ( spoofedUserAgent === navigator.userAgent ) {
return;
}
var pos = spoofedUserAgent.indexOf('/');
var appName = pos === -1 ? '' : spoofedUserAgent.slice(0, pos);
var appVersion = pos === -1 ? spoofedUserAgent : spoofedUserAgent.slice(pos + 1);
Object.defineProperty(navigator, 'userAgent', { get: function(){ return spoofedUserAgent; } });
Object.defineProperty(navigator, 'appName', { get: function(){ return appName; } });
Object.defineProperty(navigator, 'appVersion', { get: function(){ return appVersion; } });
} catch (e) {
}
})();



请使用这个神器来解决问题:

Google 自己写的 The Chrome Apps Developer Tool

https://chrome.google.com/webstore/detail/chrome-apps-extensions-de/ohmmkhmmmpcnpikjeljgnaoabkaalbgc
oldcai
2015-11-11 20:25:37 +08:00
@yexm0 你也是在深圳吗?
yexm0
2015-11-11 20:28:48 +08:00
@oldcai 是的
dphdjy
2015-11-11 20:38:49 +08:00
昨日,上海浦东法院首次在司法层面将流量劫持认定为犯罪,该院判决了全国首起流量劫持刑案,两名被告人被判有期徒刑 3 年,缓刑 3 年;扣押在案的作案工具以及退缴在案的违法所得予以没收。
oldcai
2015-11-11 20:42:08 +08:00
@yexm0 方便看一下证书指纹吗,在地址栏点锁 -> 证书信息 -> 翻到最下面。
谢谢了。
(有没有可能我们发现了一个惊天的大阴谋
oldcai
2015-11-11 20:43:33 +08:00
@oldcai 锁 -> 连接 -> 证书信息 -> 翻到最下面
yexm0
2015-11-11 20:52:26 +08:00
@oldcai 劫持和没劫持下证书指纹好像都一样
kn007
2015-11-11 20:53:57 +08:00
关注进展,广东东莞电信,一切正常
xierch
2015-11-11 20:54:17 +08:00
右键查看源码试一下?
F12 那个是当前的 DOM tree ,可能被其他 JS 更改过
JimmyCai
2015-11-11 21:04:17 +08:00
第一次访问的时候也出现了楼主的症状,刷新后就消失了。
yexm0
2015-11-11 21:05:54 +08:00
JimmyCai
2015-11-11 21:06:09 +08:00
@JimmyCai 刚刚刷新了一次又出现了。另外,源码里面未发现该脚本。

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

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

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

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

© 2021 V2EX