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

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

  •  
  •   zqqian · 2017-04-13 22:14:34 +08:00 · 3742 次点击
    这是一个创建于 2772 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

    不知道 android 有没有类似机制。
    snsd
        12
    snsd  
       2017-04-15 00:15:30 +08:00 via Android
    @thekll 有的,我的索尼手机就会跳转到一个 74 打头的美国 ip
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5852 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 01:51 · PVG 09:51 · LAX 17:51 · JFK 20:51
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.