New Bing秒过与Sorry…问题解决与分析

秒过新必应
如果你的new bing帐号依旧没有通过申请,请取消申请,然后打开以下链接
https://sl.bing.net/krmHHLCa1My
你会发现你的帐号已可使用New Bing
截至发稿时亲测可用

Sorry, looks like your network settings are preventing access to this feature.
省流:微软疑似封禁了部分idc节点,使用其他更好的代理节点或使用请求头插件伪造来源地址

先说解决方法:
1. 换节点
2. 使用ModHeader等修改请求头的插件/软件/方式将X-Forwarded-For 修改为任意非黑名单ip(如1.1.1.1)

我怎么知道我节点被封禁了?
直接访问或curl https://www.bing.com/turing/conversation/create

– 如果返回的是{“result”:{“value”:”UnauthorizedRequest”,”message”:”Sorry, you need to login first to access this service.”} 或任意内容,说明节点未被封禁
– 如果返回一片空白,那就是没了

测试:
使用oci(已封禁节点) 直接get 空白
使用oci 修改来源为1.1.1.1 成功
使用oci 修改来源为另一台oci ip 失败
使用gcp 直接get 成功
使用gcp 修改来源为1.1.1.1 成功
使用gcp 修改来源为oci ip失败

分析:
做网站的都知道在有前端cdn情况下后端是没法知晓访问者的ip的,需要cdn给源站传递访客信息。

最传统的方式就是让cdn修改header中的X-Forwarded-For为访客ip,后端再执行相应逻辑。

但鲜有人知header在结构上更接近一个二元数组,而非字典,也就是说一个header的key(比如X-Forwarded-For)可以对应多个value(1.0.0.1,1.0.0.2)

而后端若采用字典方式去获取,只能解得第一个(1.0.0.1)。

正常情况下,访客发出的请求header中是不会存在X-Forwarded-For,所以bing cdn采取的加入访客ip方式应该是append(添加,而非修改)。但当我们提前加入一个伪造的ip,这将成为第一个,而cdn添加的真实ip则成为第二个,使得欺骗后端防火墙认为自己的来源是第一个ip。换句话说,你只要把来源伪造成任意非黑名单ip即可。

此漏洞明显,修复方式简单,故修改header的可能不会存留很久。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容