安全是有分量的

海外高防ip_cdn防护300G需要多少钱_超高防御

2022-05-11 00:40栏目:智能汇

海外高防ip_cdn防护300G需要多少钱_超高防御

Python标准库ipaddress还存在严重的IP地址验证漏洞,该漏洞与今年早些时候在"netmask"库中报告的漏洞相同。

在netmask中发现关键缺陷的研究人员也在该Python模块中发现了相同的缺陷,并获得了一个漏洞标识符:CVE-2021-29921。

回归bug潜入Python 3。由于Python维护人员在2019年进行了更改,x的ipaddress模块出现了问题。

3月,BleepingComputer首次报告了数千个应用程序使用的netmask库中的一个关键IP验证漏洞。

该漏洞由CVE-2021-28918(严重)、CVE-2021-29418(中等)和CVE-2021-29424(高)跟踪,存在于netmask的npm和Perl版本以及其他一些类似库中。

事实证明,Python 3.3中引入的ipaddress标准库也受到此漏洞的影响,正如Victor Viale、Sick Codes、Kelly Kaoudis、John Jackson和Nick Sahler本周所披露的那样。

该漏洞被追踪为CVE-2021-29921,与ipaddress标准库对IP地址的不当解析有关。

Python的ipaddress模块为开发人员提供了轻松创建IP地址、网络和接口的功能;以及解析/规范以不同格式输入的IP地址。

IPv4地址可以用多种格式表示,包括十进制、整数、八进制和十六进制,尽管最常见的IPv4地址是用十进制格式表示的。

例如,BleepingComputer的IPv4地址以十进制格式表示为104.20.59.209,但可以以八进制格式表示为0150.0024.0073.0321.

假设您得到一个十进制格式的IP地址127.0.0.1,它被广泛理解为本地环回地址或本地主机。

如果要在其前面加0,应用程序是否仍应将0127.0.0.1解析为127.0.0.1或其他内容?

在您的web浏览器中尝试此操作。在BleepingComputer的测试中,在Chrome的地址栏中键入0127.0.0.1/,金盾能防御cc么,浏览器会将整个字符串视为八进制格式的IP地址。

按enter或return键时,IP实际上变为其十进制等价物87.0.0.1,这就是大多数应用程序处理此类不明确IP地址的方式。

特别值得注意的是,127.0.0.1不是一个公共IP地址,而是一个环回地址,但是,它的模糊表示将其更改为一个公共IP地址,从而导致完全不同的主机。

根据IETF草案(从未正式化,因此也从未转化为规范),对于不明确的IP地址,如果前缀为"0",IPv4地址的部分可以解释为八进制但是,在Python标准库ipaddress的情况下,任何前导零都将被剥离并丢弃。

研究人员Sick Codes和Victor Viale进行的概念验证测试表明,Python的ipaddress库只需丢弃任何前导零即可。

换句话说,华为ddos防御命令,当Python的ipaddress模块解析时,"010.8.8.8"将被视为"10.8.8.8",而不是"8.8.8.8"。

"Python3.8.0至v3.10 stdlib ipaddress中八进制字符串的输入验证不正确,免费ddos云防御,使得未经验证的远程攻击者能够对许多依赖Python stdlib ipaddress的程序执行不确定的[服务器端请求伪造(SSRF)、远程文件包含(RFI)和本地文件包含(LFI)攻击],"研究人员表示例如,如果一个反SSRF旁路阻止列表一直依赖Python的ipaddress解析IP列表,那么模棱两可的IP很容易被插入,使反旁路保护无效。

研究人员称,虽然Python3.3中引入了ipaddress模块,但从Python3.8.0版到3.10版开始,交换机ddos攻击防御,这个回归错误就悄悄地进入了模块中。

在v3之前。8.0a4,Python的ipaddress有一些检查,完全拒绝以混合格式(即八进制和十进制)提供的IP地址:

但是,正如BleepingComputer所看到的,从Python版本3.8.0a4开始,这些检查被完全删除。

程序员Joel Croteau在提交此更改时指出:"不要因为IPv4八位字节含糊不清而拒绝使用八位字节。前导零将被忽略,不再假定为指定八位字节。八位字节始终是十进制数字。八位字节必须不超过三位,包括前导零。"Python维护人员很快就讨论了这次提交背后的原因,以及在处理不明确的IP地址时引入此更改的实际原因。

尽管关于即将发布的补丁的讨论仍在进行中,但关于Python版本将包含它的确切细节仍不清楚。

一位Python维护者提出了一种不同的方法:

"用前导零传递IPv4地址是很少见的。"Python维护人员Victor Stiner说:"如果你想容忍前导零,你不必为此修改[sic]IP地址,你可以预处理你的输入:它可以在任何Python版本上运行,服务器防御ddos攻击,无论有没有修复程序。",提出解决此问题的替代方法:

Python维护人员,包括Joel Croteau、Christian Heimes和Victor Stiner,正在进一步讨论解决此问题的最佳方法。

研究人员的详细技术发现在一篇博客文章中提供。