我正在开发一个必须下载并解析这个CPE文件定义的应用程序:http://static.nvd.nist.gov/feeds/xml/cpe/dictionary/official-cpe-dictionary_v2.3.xml。
我的问题是下面这个问题。
在一些条目( XML文件)中,我发现了如下内容:
<vuln:vulnerable-configuration id="http://nvd.nist.gov/">
<cpe-lang:logical-test negate="false" operator="OR">
<cpe-lang:fact-ref name="cpe:/a:apache:tomcat:4.1.10"/>
<cpe-lang:fact-ref name="cpe:/a:apache:tomcat:4.1.12"/>
<cpe-lang:fact-ref name="cpe:/a:apache:tomcat:4.1.24"/>
<cpe-lang:fact-ref name="cpe:/a:apache:tomcat:4.1.3:beta"/>
..........................................
..........................................
..........................................
<cpe-lang:fact-ref name="cpe:/a:apache_software_foundation:tomcat:5.3"/>
<cpe-lang:fact-ref name="cpe:/a:apache_software_foundation:tomcat:5.4"/>
<cpe-lang:fact-ref name="cpe:/a:apache_software_foundation:tomcat:5.5"/>
</cpe-lang:logical-test>
</vuln:vulnerable-configuration>
<vuln:vulnerable-software-list>
<vuln:product>cpe:/a:apache_software_foundation:tomcat:4.1.34</vuln:product>
<vuln:product>cpe:/a:apache:tomcat:5.5.21</vuln:product>
<vuln:product>cpe:/a:apache_software_foundation:tomcat:4.1.37</vuln:product>
<vuln:product>cpe:/a:apache_software_foundation:tomcat:4.1.32</vuln:product>
.....................................
.....................................
.....................................
<vuln:product>cpe:/a:apache:tomcat:5.5.22</vuln:product>
<vuln:product>cpe:/a:apache:tomcat:4.1.36</vuln:product>
<vuln:product>cpe:/a:apache:tomcat:5.5.25</vuln:product>
<vuln:product>cpe:/a:apache:tomcat:5.5.1</vuln:product>
</vuln:vulnerable-software-list>如您所见,我有两个不同的集合:第一个由标记的内容表示,第二个由
这些集合到底代表了什么,它们之间有什么区别?
Tnx
发布于 2014-04-24 12:09:27
cpe-lang显示的是易受攻击产品的其他依赖项。如果您查看NVD CVE,您将看到一些产品仅在某些特定平台上易受攻击。例如
<cpe-lang:logical-test negate="false" operator="AND">
<cpe-lang:logical-test negate="false" operator="OR">
<cpe-lang:fact-ref name="cpe:/o:redhat:enterprise_linux:5.0::desktop"/>
<cpe-lang:fact-ref name="cpe:/o:redhat:enterprise_linux:5.0::desktop_multiple_os"/>
<cpe-lang:fact-ref name="cpe:/o:redhat:enterprise_linux:5.0::server"/>
<cpe-lang:fact-ref name="cpe:/o:redhat:enterprise_linux:5.0::virtualization"/>
<cpe-lang:fact-ref name="cpe:/o:redhat:fedora_core:core_5.0"/>
<cpe-lang:fact-ref name="cpe:/o:redhat:fedora_core:core6"/>
</cpe-lang:logical-test>
<cpe-lang:logical-test negate="false" operator="OR">
<cpe-lang:fact-ref name="cpe:/a:xen:qemu"/>
</cpe-lang:logical-test>
</cpe-lang:logical-test>
<vuln:vulnerable-software-list>
<vuln:product>cpe:/a:xen:qemu</vuln:product>
</vuln:vulnerable-software-list>这一切意味着什么?xen:qemu仅在redhat:enterprise_linux::*和Fedora核心上易受攻击。因此,如果您解析这个xml,并且只得到vuln: products,对于某些产品,您是不准确的。
cpelan代表- CPE语言匹配算法,是由NIST创建的.在这里你会发现更多的信息:https://cpe.mitre.org/specification/
https://security.stackexchange.com/questions/54009
复制相似问题