开发者社区> 问答> 正文

Java Debugger漏洞的利用和修复



# 鸟哥谈安全#最近发现了一个有意思的漏洞——JAVA开启Debugger模式后可以执行任意的系统命令。那么如何利用这个漏洞,以及如何修复呢?鸟哥告诉你。注:鸟哥@ cnbird2008,是阿里巴巴集团信息安全专家。

0x0 前言

   最近发现了一个有意思的漏洞——JAVA开启Debugger模式后可以执行任意的系统命令。需要一定利用条件,你必须要对开启调试的进程设置一个断点,然后利用这个断点来进行执行命令的操作。
0x1 前提

   环境:
   1、开启debugger的机器10.1.1.1
   2、渗透端为任意安装jdk的机器
   我们以Jetty为例开启了Debugger模式,开启方式如下: (版本7.6.13)
  Start.ini
--exec-Xdebug -agentlib:jdwp=transport=dt_socket,address=8090,server=y,suspend=n

0x2 利用方式

1、首先渗透测试服务器安装jdk然后利用jdb进行连接。
  

2、输入threads查看当前的线程。


3、输入thread 0x690我们使用Jetty的监听端口8080来进行调试。


4、输入suspend 0x690来挂起进程。

5、输入wherei来查看可以设置的断点。


6、设置断点。
stop onorg.eclipse.jetty.server.nio.SelectChannelConnector.getConnection

7、打开浏览器访问 http://10.1.1.1:8080

8、出现Breakpoint hit即可调试。

9、执行系统命令。

0x3 修复方案

禁用各种容器的debugger调试端口。

展开
收起
yundun1 2014-06-04 11:24:38 15521 0
4 条回答
写回答
取消 提交回答
  • ReJavaDebugger漏洞的利用和修复
    我以为是写私房菜的那个鸟哥
    2014-08-07 12:01:46
    赞同 展开评论 打赏
  • ReJavaDebugger漏洞的利用和修复
    顶!
    2014-07-24 17:44:59
    赞同 展开评论 打赏
  • 您的帖子很精彩!希望很快能再分享您的下一帖!
    2014-07-01 22:50:10
    赞同 展开评论 打赏
  • LT是个伪程序员
    顶一个

    -------------------------

    不顶不舒服斯基

    2014-06-05 10:19:55
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载