原来 https 不流行的时候连 wifi 基本打开任意一个网址都会跳转到 wifi 的认证界面。 现在百度和各个导航网站开启全站 https 之后就无法跳转了。非得另外打开一个 http 的页面才能跳转。 虽然这个对于程序员不是什么问题,但是一般的小白不懂呀,所以有没有解决办法?
1
golmic 2017-04-13 22:35:57 +08:00 via Android
同样求教
|
2
manhere 2017-04-13 23:00:41 +08:00
没有, https 的意义就在于此。
|
3
oott123 2017-04-13 23:06:28 +08:00
所以,既然不能劫持,那为啥 Android 7 要使用 https 来做 wifi 登录嗅探呢
|
4
dremy 2017-04-13 23:46:09 +08:00 via Android
简单,中间人劫持的时候加上任意证书就好了,会显示证书错误的界面
对小白来说,习惯了忽略 12306 的证书错误,也会忽略这个错误而继续访问的,就能够实现跳转了 |
5
loading 2017-04-14 08:29:22 +08:00
因为大量老 AP 已经部署,这个问题已经不是技术能解决的了。
|
6
BOYPT 2017-04-14 09:09:02 +08:00
在 443 端口用自签名证书跳转到认证页呀,新版 chrome 里面会提示这种 portal 页面,而不是安全警告了。算是趋势吧。
|
7
tinyproxy 2017-04-14 09:10:06 +08:00 via iPhone
你找找云舒的文章吧,有个 sslstrip 的文章,但要求在同一局域网或 VPN 环境,既然你有路由,攻击基础是有的,就看那文章说的是否可操作了。
PS 非安全相关人员 |
8
yanwu 2017-04-14 09:48:16 +08:00 via Android
所以我每次认证校园网时,都点击一个非 https 的页面。
|
9
mcone 2017-04-14 11:20:03 +08:00
之前百度刚上 https 的时候 我之前也遇到了这种问题 我把我的解决方案跟你分享下吧
如果用户懂一点技术的话 想办法引导他们使用 http 页面跳转进行认证 例如在认证页面增加说明(不过没什么卵用估计) 或者推广你们的认证网址(域名或 ip ) 想办法让他们直接点认证页 如果用户是纯种小白的话 那就加上任意一个自签名证书吧 然后就可以跳转了 唯一缺点是 chrome 之类会有大大的错误提示需要人肉点继续 但是很多浏览器像是 360Safe Browser 的提示很不明显 用户应该也见怪不怪了 如果有更好解决方案希望楼主 at 我下哈哈 |
10
morethansean 2017-04-14 11:24:59 +08:00 1
@oott123 其实你说的是两个不同的事情了,对是否联网以及 captive portal 的判断可以是不同的。
看 7.1.1 的源码你会发现,启用 https 的 captive portal 验证之后,在发送的时候会同时发送 2 个请求,一个 http 的一个 https 的,如果需要跳转的话 http 的被劫持还是可以起到效果的。不过仔细看的话,逻辑还是有那么一点让人不是很能理解。 |
11
thekll 2017-04-14 16:05:19 +08:00 via iPhone
操作系统会提供网络切换后的联网检测功能,即尝试请求 http://xx.xx/generate_204 。比如 macOS/iOS ,如果网络接入设备需要 captive portal 身份验证,会弹出登录界面。此时,假如设置了系统级的加密代理,一定要在规则里让 captive portal 检测域名绕过代理。
不知道 android 有没有类似机制。 |