Jinja: from_string 函数 (SSTI) 中的命令注入

创建于 2019-02-18  ·  1评论  ·  资料来源: pallets/jinja

预期行为

from_string接受未转义的参数,因此攻击者可以将代码注入模板。

实际行为

应该逃避任何过去。

额外信息和概念证明

https://github.com/JameelNabbo/Jinja2-Code-execution
https://www.exploit-db.com/exploits/46386

最有用的评论

创建该 repo 和 CVE 的用户不知道他们在说什么,不幸的是现在我们将不得不继续解决它,因为他们不负责任地以官方的方式通知了一群人关于一个非问题. 请参阅https://github.com/JameelNabbo/Jinja2-Code-execution/issues/1以获取对他们的回应。 我已向 MITRE 发送请求,要求使 CVE 失效。

说 Jina 因为from_string存在而存在漏洞就像说每个动态语言都存在漏洞是因为eval存在,或者每个 SQL 库都存在漏洞,因为它们评估 SQL 字符串。 问题不在于那些库,它们都提供了处理用户输入的适当工具。 SQL 库没有注入漏洞,使用 SQL 库的项目不正确。

如果您仍然想冒险编译不受信任的模板,则应使用SandboxedEnvironment ,而在呈现不受信任的变量时应使用autoescape

>所有评论

创建该 repo 和 CVE 的用户不知道他们在说什么,不幸的是现在我们将不得不继续解决它,因为他们不负责任地以官方的方式通知了一群人关于一个非问题. 请参阅https://github.com/JameelNabbo/Jinja2-Code-execution/issues/1以获取对他们的回应。 我已向 MITRE 发送请求,要求使 CVE 失效。

说 Jina 因为from_string存在而存在漏洞就像说每个动态语言都存在漏洞是因为eval存在,或者每个 SQL 库都存在漏洞,因为它们评估 SQL 字符串。 问题不在于那些库,它们都提供了处理用户输入的适当工具。 SQL 库没有注入漏洞,使用 SQL 库的项目不正确。

如果您仍然想冒险编译不受信任的模板,则应使用SandboxedEnvironment ,而在呈现不受信任的变量时应使用autoescape

此页面是否有帮助?
0 / 5 - 0 等级