【发布时间】:2017-02-17 16:45:43
【问题描述】:
有点混淆了 Python、Jython 和 CPython 之间的差异。 我知道 Jython 是用 Java 实现的 Python,CPython 是一样的,只是它是用 C 实现的。
但我真正感到困惑的是识别 Python 中的漏洞。 比如下面这两个。
例如 - CVE-2016-5636 - 这里似乎无法在 Jython 中重现该漏洞。
https://bugzilla.redhat.com/show_bug.cgi?id=1345857
类似地查看 - CVE-2016-5699 https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-5699
它说 “2.7.10 之前和 3.4.4 之前的 3.x 中的 urllib2 和 urllib 中的 HTTPConnection.putheader 函数中的 CRLF 注入漏洞允许远程攻击者通过 CRLF 序列注入任意 HTTP 标头在 URL 中。”
这是否意味着 CVE-2016-5699 在 Jython 中不受攻击?
总的来说,我想知道的是,Python 中的漏洞是否意味着它在 Jython 中存在漏洞?
【问题讨论】:
-
我对自己对该主题的了解不够自信,但这可能完全取决于漏洞利用的工作方式。当指令被编译成 java 字节码时,可能会发生额外的检查,并且实现特定的错误(阅读:实际上是拼写错误)可能不会在解释器中继续存在,除非源是相同的。也就是说,很容易无意中遗留语义错误从一种语言翻译成另一种语言时的代码。
标签: python security jython cpython