返回

使用DOOP发现漏洞信息流:针对Apache Commons Text 远程代码执行漏洞的攻击检测

后端

1. Apache Commons Text 简介

Apache Commons Text 是一个用于处理文本的 Java 库。它提供了各种操作文本的实用工具,例如字符串操作、正则表达式和 HTML 解析。

2. Commons Text 远程代码执行漏洞(CVE-2022-42889)

2022年3月,Apache Commons Text中发现了一个远程代码执行漏洞,编号为CVE-2022-42889。该漏洞允许攻击者通过构造恶意字符串来执行任意代码。

3. Doop简介

Doop是一个开源的静态程序分析框架,可以用来检测Java代码中的漏洞。它使用污点分析技术来跟踪数据流,并识别可能导致漏洞的潜在攻击点。

4. Doop App Only模式

Doop App Only模式是一种分析模式,它只分析应用程序的代码,而不会分析库代码。这使得分析速度更快,但也会降低检测漏洞的准确性。

5. 修改增强Doop App Only模式下的分析规则

为了提高Doop App Only模式下检测Commons Text RCE漏洞的准确性,我们可以修改增强分析规则。具体来说,我们可以添加以下规则:

  • 当一个字符串被传递给StringSubstitutor类的substitute方法时,污点分析应该传播到该字符串。
  • 当一个字符串被传递给StrSubstitutor类的replace方法时,污点分析应该传播到该字符串。
  • 当一个字符串被传递给MessageFormat类的format方法时,污点分析应该传播到该字符串。

6. 使用修改后的Doop App Only模式检测漏洞

使用修改后的Doop App Only模式,我们可以检测到Commons Text RCE漏洞。具体来说,我们可以使用以下步骤来检测漏洞:

  1. 将应用程序的代码导入Doop中。
  2. 选择Doop App Only模式。
  3. 运行Doop分析。
  4. 查看分析结果。

如果Doop分析结果中包含以下内容,则表示应用程序存在Commons Text RCE漏洞:

  • 一个污点传播到StringSubstitutor类的substitute方法。
  • 一个污点传播到StrSubstitutor类的replace方法。
  • 一个污点传播到MessageFormat类的format方法。

7. 结论

通过修改增强Doop App Only模式下的分析规则,我们可以提高Doop检测Commons Text RCE漏洞的准确性。这种方法可以帮助我们发现应用程序中的潜在漏洞,并及时修复漏洞。