2

我们的安全团队在 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 Debug Wire 协议远程代码执行漏洞

严重性:严重

描述

受影响的主机

  • IP地址:tcp/8787

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

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

整治

禁用服务

概念证明

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

谢谢,毗湿奴

4

2 回答 2

1

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

-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=/
于 2019-11-28T20:55:51.103 回答
1

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

于 2020-09-10T04:30:11.120 回答