For investors
股价:
5.36 美元 %For investors
股价:
5.36 美元 %认真做教育 专心促就业
python编程语言是目前大多数程序员都需要掌握的一种编程语言,而今天我们就来分析了解一下,python编程都有哪些安全问题。
1.扩展的ZipSlip
在Web应用中,通常需要解压上传后的压缩文件。在Python中,很多人都知道TarFile.extractall与TarFile.extract函数容易受到ZipSlip攻击。攻击者通过篡改压缩包中的文件名,使其包含路径遍历(../)字符,从而发起攻击。
这就是为什么压缩文件应该始终被视为不受信来源的原因。zipfile.extractall与zipfile.extract函数可以对zip内容进行清洗,从而防止这类路径遍历漏洞。
2.被优化掉的断言
Python支持以优化的方式执行代码。这使代码运行得更快,内存用得更少。当程序被大规模使用,或者可用的资源很少时,这种方法尤其有效。一些预打包的Python程序提供了优化的字节码。
然而,当代码被优化时,所有的assert语句都会被忽略。开发者有时会使用它们来判断代码中的某些条件。例如,如果使用断言来作身份验证检查,则可能导致安全绕过。
3.Unicode清洗器绕过
Unicode支持用多种形式来表示字符,并将这些字符映射到码点。在Unicode标准中,不同的Unicode字符有四种归一化方案。程序可以使用这些归一化方法,以独立于人类语言的标准方式来存储数据,例如用户名。
4.不完整的正则表达式匹配
正则表达式(regex)是大多数Web程序不可或缺的一部分。我们经常能看到它被自定义的Web应用防火墙(WAF,WebApplicationFirewalls)用来作输入验证,例如检测恶意字符串。
然而,攻击者可以利用这些导致Python的urllib出现漏洞 ,这也是使用python语言时需要注意的问题