如何“劫持”HTTPS 让需要登录的 wifi 跳转到认证界面?

2017-04-13 22:14:34 +08:00
 zqqian

原来 https 不流行的时候连 wifi 基本打开任意一个网址都会跳转到 wifi 的认证界面。 现在百度和各个导航网站开启全站 https 之后就无法跳转了。非得另外打开一个 http 的页面才能跳转。 虽然这个对于程序员不是什么问题,但是一般的小白不懂呀,所以有没有解决办法?

3609 次点击
所在节点    问与答
12 条回复
golmic
2017-04-13 22:35:57 +08:00
同样求教
manhere
2017-04-13 23:00:41 +08:00
没有, https 的意义就在于此。
oott123
2017-04-13 23:06:28 +08:00
所以,既然不能劫持,那为啥 Android 7 要使用 https 来做 wifi 登录嗅探呢
dremy
2017-04-13 23:46:09 +08:00
简单,中间人劫持的时候加上任意证书就好了,会显示证书错误的界面
对小白来说,习惯了忽略 12306 的证书错误,也会忽略这个错误而继续访问的,就能够实现跳转了
loading
2017-04-14 08:29:22 +08:00
因为大量老 AP 已经部署,这个问题已经不是技术能解决的了。
BOYPT
2017-04-14 09:09:02 +08:00
在 443 端口用自签名证书跳转到认证页呀,新版 chrome 里面会提示这种 portal 页面,而不是安全警告了。算是趋势吧。
tinyproxy
2017-04-14 09:10:06 +08:00
你找找云舒的文章吧,有个 sslstrip 的文章,但要求在同一局域网或 VPN 环境,既然你有路由,攻击基础是有的,就看那文章说的是否可操作了。
PS 非安全相关人员
yanwu
2017-04-14 09:48:16 +08:00
所以我每次认证校园网时,都点击一个非 https 的页面。
mcone
2017-04-14 11:20:03 +08:00
之前百度刚上 https 的时候 我之前也遇到了这种问题 我把我的解决方案跟你分享下吧

如果用户懂一点技术的话 想办法引导他们使用 http 页面跳转进行认证 例如在认证页面增加说明(不过没什么卵用估计)
或者推广你们的认证网址(域名或 ip ) 想办法让他们直接点认证页

如果用户是纯种小白的话 那就加上任意一个自签名证书吧 然后就可以跳转了 唯一缺点是 chrome 之类会有大大的错误提示需要人肉点继续 但是很多浏览器像是 360Safe Browser 的提示很不明显 用户应该也见怪不怪了

如果有更好解决方案希望楼主 at 我下哈哈
morethansean
2017-04-14 11:24:59 +08:00
@oott123 其实你说的是两个不同的事情了,对是否联网以及 captive portal 的判断可以是不同的。
看 7.1.1 的源码你会发现,启用 https 的 captive portal 验证之后,在发送的时候会同时发送 2 个请求,一个 http 的一个 https 的,如果需要跳转的话 http 的被劫持还是可以起到效果的。不过仔细看的话,逻辑还是有那么一点让人不是很能理解。
thekll
2017-04-14 16:05:19 +08:00
操作系统会提供网络切换后的联网检测功能,即尝试请求 http://xx.xx/generate_204 。比如 macOS/iOS ,如果网络接入设备需要 captive portal 身份验证,会弹出登录界面。此时,假如设置了系统级的加密代理,一定要在规则里让 captive portal 检测域名绕过代理。

不知道 android 有没有类似机制。
snsd
2017-04-15 00:15:30 +08:00
@thekll 有的,我的索尼手机就会跳转到一个 74 打头的美国 ip

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

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

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

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

© 2021 V2EX