Python常见的漏洞都有什么?
首先是解析XML漏洞。如果您的应用程序加载和解析XML文件,那么您可能正在使用XML标准库模块。有一些针对XML的常见攻击。大多数是DoS风格(旨在破坏系统而不是窃取数据)。这些攻击很常见,尤其是在解析外部(即不受信任的)XML文件时。一种这样的攻击是“十亿笑”,因为加载的文件包含许多(十亿)“笑”。您可以加载XML实体文件,当XML解析器尝试将此XML文件加载到内存中时,它将消耗许多GB的内存。
其次是SQL注入漏洞。SQL注入漏洞的原因是用户输入直接拼接到SQL查询语句中。在pythonweb应用程序中,orm库一般用于数据库相关的操作。例如,Flask和Tornado经常使用SQLAlchemy,而Django有自己的orm引擎。.但是如果不使用ORM,直接拼接SQL语句,就有SQL注入的风险。
再者是输入函数漏洞。在Python2的大量内置特性中,输入是一场彻底的安全灾难。一旦调用它,从标准输入读取的任何内容都会立即解析为Python代码,显然,除非脚本的标准输入中的数据完全可信,否则决不能使用输入函数。Python2文档建议将rawinput作为安全的替代方案。在Python3中,input函数等价于rawinput,一劳永逸地解决了这个陷阱。
要知道SSTI是ServerSideTemplateInjection,是Web开发中使用的模板引擎。模板引擎可以将用户界面和业务数据分离,逻辑代码和业务代码也可以相应分离,代码复用变得简单,开发效率也提高了。模板在服务器端使用,数据由模板引擎渲染,然后传递给用户,可以为特定用户/特定参数生成对应的页面。我们可以对比一下百度搜索,搜索不同词条得到的结果页面是不一样的,但是页面的边框基本是一样的。