JDWP 远程命令执行漏洞

本文介绍了Java调试体系JPDA,重点关注JDWP协议及其远程命令执行漏洞。内容涉及JDWP的职责,如何验证漏洞存在,以及利用脚本进行攻击的方法。最后给出了修复漏洞的建议,如关闭JDWP端口和禁用Java debug模式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

0x01. Java 调试体系JPDA简介

JPDA(Java Platform Debugger Architecture):即Java平台调试体系架构。Java虚拟机设计的专门的API接口供调试和监控虚拟机使用

JPDA按照抽象层次,又分为三层,分别是:

  • JVM TI(Java VM Tool Interface):虚拟机对外暴露的接口,包括debug和profile。
  • JDWP(Java Debug Wire Protocol):调试器和应用之间通信的协议。
  • JDI(Java Debug Interface):Java库接口,实现了JDWP协议的客户端,调试器可以用来和远程被调试应用通信。

在这里插入图片描述

0x02. JDWP简介

JDWP(Java DEbugger Wire Protocol):即Java调试线协议,是一个为Java调试而设计的通讯交互协议,它定义了调试器和被调试程序之间传递的信息的格式。说白了就是JVM或者类JVM的虚拟机都支持一种协议,通过该协议,Debugger 端可以和 target VM 通信,可以获取目标 VM的包括类、对象、线程等信息,在调试Android应用程序这一场景中,Debugger一般是指你的 develop machine 的某一支持 JDWP协议的工具例如 Android Studio 或者 JDB,而 Target JVM是指运行在你mobile设备当中的各个App(因为它们都是一个个虚拟机 Dalvik 或者 ART),JDWP Agent一般负责监听某一个端口,当有 Debugger向这一个端口发起请求的时候,Agent 就转发该请求给 target JVM并最终由该 JVM 来处理请求,并把 reply 信息返回

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值