Java调试线协议远程执行代码漏洞 - joss

时间:2016-04-07 19:00:21

标签: tcp jboss jboss7.x jdwp

我们的安全团队在jboss中发现了JDWP的以下问题。 我该如何解决这个问题?

  

-Djavax.net.ssl.trustStorePassword = changeit -Dhttps.protocols = TLSv1 -Xdebug -Xrunjdwp:transport = dt_socket,address = 8787,server = y,suspend = n -Dsun.rmi.dgc.client.gcInterval = 3600000 -Dsun.rmi.dgc.server.gcInterval = 3600000 -Dorg.jboss.boot.log.file = /

标题:Java调试线协议远程执行代码漏洞

严重性:严重

描述

受影响的主机

  • IP地址:tcp / 8787

远程服务器正在运行Java Debug Wire Protocol服务。如果启用该服务,则无需身份验证。

恶意用户可利用这些漏洞执行任意代码。

修复

停用服务

概念证明

通过TCP在端口8787上检测到的Java调试线协议远程执行代码漏洞。

谢谢, 毗

2 个答案:

答案 0 :(得分:0)

您只需要禁用远程调试。将命令选项更改为:

-Djavax.net.ssl.trustStorePassword=changeit -Dhttps.protocols=TLSv1 -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Dorg.jboss.boot.log.file=/

答案 1 :(得分:0)

您有:address=8787(在我的情况下,我有address=*:5005),这意味着您的计算机将接受来自任何主机(source)的连接。这样,攻击者就可以在运行此命令的计算机上(但还有另一个source)执行任意代码。
在我的情况下,禁用远程调试不是一种选择,因此我指定了哪些主机可以访问,即本地主机,即address=localhost:5005。这仅允许本地主机连接,而没有其他人可以连接。