如何测试JBoss 4.2.2中是否使用了jmx-console.war?

时间:2013-04-18 20:26:15

标签: security jboss console jmx nessus

。\ jboss-4.2.2.GA \ server \ default \ deploy文件夹中有一个名为“jmx-console.war”的文件。我遇到了处理这个模块的安全漏洞。如何判断我们的应用程序是否正在使用此模块。我实现了一个开源工具,但我不确定如何测试它是否被使用。

高严重性的Nessus漏洞:

JBoss JMX控制台无限制访问

http://www.tenable.com/plugins/index.php?view=single&id=23842

1 个答案:

答案 0 :(得分:1)

如果您在deploy文件夹中看到war文件,那么您的应用程序很可能正在使用它。也就是说,它最有可能被加载。假设您知道JBoss实例正在侦听的HTTP端口,那么测试应该相当容易。默认情况下,它是 8080 所以请将您的浏览器指向 http:// [您的jboss主机]:8080 / jmx-console 并查看控制台是否出现,保持请注意,它可能受密码保护,您的HTTP端口可能不是8080。

您还应该在 server.log 或配置的等效内容中看到类似的内容:

  

11:52:30,165 INFO main [TomcatDeployer] deploy,ctxPath = / jmx-console,   warUrl = ... /部署/ JMX-console.war /

话虽如此,我可以想到几种方式可以指示或导致jmx-console不被部署:

  • 您引用的文件夹位于默认服务器目录中。这只是3中的一个实例(默认,全部,最小),您可能正在运行其他实例,甚至是自定义配置的服务器。也就是说,如果您运行最小服务器实例,或者不包含jmx-console.war的实例,那么默认服务器的deploy目录中该文件的存在不会导致它要部署在另一个服务器的实例中。 (这听起来比实际上更复杂)
  • 部署目录中的war文件依赖于另一个名为 jboss-web.deployer 目录,该目录实际部署war文件。如果那个目录不在那里,我的猜测是战争部署已被禁用。不太可能,因为有更简单的方法,如果有人去除了删除这个文件夹的麻烦,他们可能也会删除战争。

最重要的是,最简单的方法是找到http端口,然后点击jmx-console URL并查看它是否响应,或检查日志文件。 可以想象有人可以将jmx-console.war重命名为其他东西(在一种不合理的尝试中隐藏它?)在这种情况下,你需要执行一连串的http请求扫描并尝试找到一个jmx-console签名,但这不属于我的(非常大的......)专业领域。