【问题标题】:Java Debug Wire Protocol Remote Code Execution Vulnerability - jossJava Debug Wire 协议远程代码执行漏洞 - joss
【发布时间】:2016-04-07 19:00:20
【问题描述】:

我们的安全团队发现 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 Debug Wire Protocol 远程代码执行漏洞。

谢谢, 毗湿奴

【问题讨论】:

  • 你有什么解决办法吗?我还需要修复这个漏洞

标签: tcp jboss jboss7.x jdwp


【解决方案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=/

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-17
      • 1970-01-01
      • 2017-10-24
      • 1970-01-01
      • 2014-05-21
      • 1970-01-01
      • 2020-03-04
      • 1970-01-01
      相关资源
      最近更新 更多