是Python"多处理"互联网服务器不安全?

时间:2015-05-31 18:27:52

标签: python security multiprocessing

我在某处读过Python的multiprocessing内部使用Pickle,而来自未经身份验证的主机的Pickle数据并不安全。假设我在互联网上运行multiprocessing服务器并使用弱密码保护,攻击者可以在密码被破坏时自动运行任意代码吗?

2 个答案:

答案 0 :(得分:1)

是。如果攻击者可以发送服务器解码的基于pickle的有效负载,则攻击者可以在服务器上运行任意代码。

See warning here

答案 1 :(得分:0)

如果您使用Python编写互联网服务或网络应用程序,则应在输入时始终检查(并在必要时清理或拒绝)传入数据。 在任何情况下应由应用程序按原样处理。

这与多处理无关;这不仅仅是酸洗/去除污染。如果您查看top-10 of web app vulnerabilities,您会看到注入(基本上无需检查即可解释传入数据)是网络应用中最常见的问题。

这可能是一个有点人为的例子,但仍然是对问题的一个很好的说明;

database trouble

此外,尽可能隔离Web应用程序也是一个好主意。我建议在FreeBSD jail或Linux上的docker容器中运行它。