Python 注入 - 有这种东西吗?

Python Injection - is there such a thing?

我一直在自己的网站上进行一些渗透测试,并对常见漏洞进行了大量研究。

SQL 注入经常出现,但我想知道,是否可能存在 python 注入这样的事情?例如,一个网络表单提交了一个值,该值在某些 python 后端应用程序的字典中输入。如果没有正确处理该输入,是否有可能 python 代码可以在应用程序中注入并执行?

有没有一种方法可以轻松且无害地测试此漏洞 - 如果它确实是一个潜在漏洞?我似乎找不到很多关于这个主题的网络资源。

这完全取决于您使用网络表单输入做什么。在正常使用中,表单被编码为 x-www-form-urlencodedjson —— 这两种格式 都可以 完全安全地反序列化为 python 字典。当然,它们 也可能 以不安全的方式反序列化——确保您使用专门用于正确处理此问题的库(例如 urlparsejson) .

由此看来,输入是否安全完全取决于应用程序对其进行的处理。 (例如,如果应用程序使用 eval 和基于解码字典的输入,则 是安全的。

至于对此的自动化测试——我不知道有什么方法可以做到这一点,但这些问题通常很容易通过遵循正常的最佳实践来缓解(不要 eval您不信任的代码等)