来源:麦叔编程作者:麦叔一、安全漏洞2月19号,Python软件基金会(PSF)发布了Python3.8.8和3.9.2版本。这两个版本主要修复了两个值得注意的安全漏洞,其中一个名为“CVE--”的漏洞容易被攻击者远程利用,基于代码执行可让计算机崩溃。本来只要发布最新的3.9.2就可以,同时发布3.8.8是为了方便使用3.8的用户只要更新补丁版本就可以了,没必要为此升级到3.9。毕竟对于复杂的软件,升级一个小版本需要做全面的测试,代价沉重。PSF敦促Python用户尽快将系统升级到Python3.8.8或3.9.2,特别是需要解决被跟踪为CVE--的远程代码执行(RCE)漏洞。Linux,Windows等平台也纷纷通知各自的用户的尽快升级Python:1.Redhat给的警告2.Windows给的警告二、原理解释这个漏洞的英文描述是这样的:这是3.9的Releasenotes:说人话,简单来说漏洞的发生是这样的:Python使用了一些C语言写的数据类型,被称为ctype,其中一个就是callproc.c。这个callproc.c有漏洞,可以造成黑客在你的电脑上执行他的代码,访问或者修改缓存区的敏感数据,造成系统崩溃等。这个漏洞发生的条件是:你的程序接受用户输入的浮点数,并且没有验证浮点数的合法性。黑客可能传入的不是浮点数,而是一段代码,进而非法访问缓存区内的数据,造成系统崩溃。更进一步这个漏洞和C语言中的sprintf有关系。大概的过程是这样的:基本上,这个问题最大的伤害就是造成你的系统崩溃。这对于个人用户是关系不大的。但是对服务器影响就很大了。如果一些银行系统运行着Python的程序,结果造成了系统崩溃,影响了用户使用系统,可能技术部的奖金都都没了。三、代码示例来点直观的认识,用代码举一个类似的安全漏洞,同样关于打印,同样关于远程代码执行:CONFIG={“API_KEY”:“secret_key”}classUser:name=“”email=“”def__init__(self,name,email):self.name=nameself.email=emaildef__str__(self):returnself.namename=“Toby”email=“oyetoketoby80gmail.
转载请注明:http://www.aierlanlan.com/cyrz/5713.html