Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

使用伪造的 SNI #4

Open
SeaHOH opened this issue Jan 20, 2019 · 3 comments
Open

使用伪造的 SNI #4

SeaHOH opened this issue Jan 20, 2019 · 3 comments
Labels
enhancement New feature or request

Comments

@SeaHOH
Copy link

SeaHOH commented Jan 20, 2019

某些被封禁域名使用了非独立 IP 的 CDN,例如 Cloudflare 免费版,因此强制需要 SNI,否则无法成功握手。或者因为配置了多证书,导致返回的默认证书并非欲访问域名。

关于这点,可以通过设置伪造的 SNI 来解决。比如:

  1. www.blocked-example.com 被封 SNI,且符合以上条件。
  2. 连接时把 SNI 设为任意次级域名,如 any-noblocked.blocked-example.com 即可正确连接。
  3. 如果被封的只是主站域名,还有其它域名未被封锁,且使用同一台服务器提供服务,
    那么也可以把 SNI 设置为这个未封锁域名。

我在自己的工具里验证过了,建议你也可以增加这个设置。

@bypass-GFW-SNI bypass-GFW-SNI added the enhancement New feature or request label Jan 20, 2019
@bypass-GFW-SNI
Copy link
Owner

谢谢。这个需要额外配置,用量大时再考虑。

@tec1987
Copy link

tec1987 commented Feb 24, 2019

逻辑上可以使用如下方式简单修改:
一、对CDN返回的特定证书做判断处理,使用次级/未封锁域名再次请求。
二、直接加一步判断,当返回证书不符时,使用次级/未封锁域名再次请求证书。

逻辑2貌似更加容易些

@ghost
Copy link

ghost commented Jan 28, 2021

现在 Cloudflare 免费版已经不可能域前置了

服务器会验证 SNI 和头里的 Host 是否包含相同域名

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants