JDWP通信解析格式

本文详细介绍了JDWP(JavaDebugWireProtocol)在Java应用调试中的作用,指出其缺乏认证导致的安全隐患,以及在特定情况下如何被利用进行远程代码执行(RCE)。通过TCP握手分析了其通信过程和潜在漏洞点。
摘要由CSDN通过智能技术生成

JDWP

其实上述的知识都是为了分析JDWP的反弹shell的铺垫。 根据JDWP 协议及实现

JDWP 是 Java Debug Wire Protocol 的缩写,它定义了调试器(debugger)和被调试的 Java 虚拟机(target vm)之间的通信协议。

换句话说,就是JDWP就是JAVA的一个调试协议。本质上我们通过IDEA或者eclipse通过断点的方式调试JAVA应用时,使用的就是JDWP.之前写过的Nuxeo RCE漏洞分析中的 第一步Docker远程调试用的是JDWP.而JDWP的漏洞的危害就如同之前写过的文章xdebug的攻击面。因为是调试协议,不可能带有认证信息,那么对于一个开启了调试端口的JAVA应用,我们就可能利用JDWP进行调试,最终执行命令。在什么时候会使用到JDWP这种协议呢?比如你在线上跑了一个应用,但是这个问题只有在线上才会出现问题,那么这个时候就必须开启远程调试功能了,此时就有可能被攻击者利用RCE。

JDWP是通过一个简单的握手完成通信认证。在TCP连接完之后,DEBUG的客户端就会发送JDWP-Handshake,而服务端同样会回复JDWP-Handshake.通过抓包分析:

JDWP通信解析格式

JDWP通信解析格式如下所示:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值