当前位置: 首页 > news >正文

『Java安全』初试JDWP攻击

文章目录

  • 简介
  • 手动调试
  • JDWP攻击
  • 如何探测?
    • nmap
    • socket发包
  • 利用工具
  • 参考

简介

Java Debug Wire Protocol(JDWP)是一种通信协议,是Java Platform Debugger Architecture的一部分。它用于调试器和Java虚拟机之间的通信,Java虚拟机进行调试。它允许在其他计算机上调试进程,可以通过网络套接字或共享内存工作。

https://en.wikipedia.org/wiki/Java_Debug_Wire_Protocol

平常使用IDEA debug就是把上面的过程简化

在这里插入图片描述

手动调试

在这里插入图片描述

把上面的程序编译成class,开启debug,然后使用jdb连接

java -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=*:8003 Test

jdb -connect com.sun.jdi.SocketAttach:hostname=127.0.0.1,port=8003

在这里插入图片描述
jdb有很多命令,help可以查看

在这里插入图片描述
在println打断点

stop in java.io.PrintStream.println(java.lang.String)
run

可以看到此时已经命中了断点

在这里插入图片描述
单步调试step,调试至最后cont,结束调试exit

在这里插入图片描述

JDWP攻击

可以从上面流程看到:JDWP攻击就是针对暴露在公网的server端,jdb自带了命令执行

在这里插入图片描述
使用step进入暂停模式,然后就能执行命令

在这里插入图片描述

如何探测?

nmap

扫端口

socket发包

发送握手包

import socket

client = socket.socket()
client.connect(("127.0.0.1", 8003))
client.send(b"JDWP-Handshake")
print(client.recv(14))

利用工具

https://github.com/Lz1y/jdwp-shellifier
https://github.com/IOActive/jdwp-shellifier

参考

https://forum.butian.net/share/1232

欢迎关注我的CSDN博客 :@Ho1aAs
版权属于:Ho1aAs
本文链接:https://ho1aas.blog.csdn.net/article/details/126587814
版权声明:本文为原创,转载时须注明出处及本声明

相关文章:

  • JUCE框架教程(6)——通过AudioProcessorValuetTeeState链接数据和UI
  • IDC TechScape中国数据安全发展路线图,美创两款产品获重点推荐
  • python语言通过neo4j构建知识图谱
  • JAVA基于微信小程序的校园信息共享平台毕业设计-附源码211615
  • javaweb医院科室管理系统springboot
  • 深度学习(PyTorch)——长短期记忆神经网络(LSTM)
  • 外贸怎么在谷歌搜索客户?
  • L73.linux命令每日一练 -- 第十章 Linux网络管理命令 -- dig和host
  • 用MicroPython开发ESP32-用TFT-LCD(ST7735S)显示图像
  • off-by-one+overlapped chunk
  • Debian/Ubuntu/Kali 如何安装 Spotify 音乐白嫖神器
  • Vue-Vue实例
  • JVM外部调试工具:JMXTerm
  • super和this的区别
  • 为什么软件工程项目普遍不重视可行性分析?
  • 【附node操作实例】redis简明入门系列—字符串类型
  • 【知识碎片】第三方登录弹窗效果
  • CentOS 7 防火墙操作
  • centos安装java运行环境jdk+tomcat
  • CSS3 变换
  • js作用域和this的理解
  • Python socket服务器端、客户端传送信息
  • Python实现BT种子转化为磁力链接【实战】
  • spring + angular 实现导出excel
  • 阿里中间件开源组件:Sentinel 0.2.0正式发布
  • 对话 CTO〡听神策数据 CTO 曹犟描绘数据分析行业的无限可能
  • 前端性能优化——回流与重绘
  • 学习HTTP相关知识笔记
  • 一道闭包题引发的思考
  • 在weex里面使用chart图表
  • # .NET Framework中使用命名管道进行进程间通信
  • #【QT 5 调试软件后,发布相关:软件生成exe文件 + 文件打包】
  • #NOIP 2014#day.2 T1 无限网络发射器选址
  • #pragam once 和 #ifndef 预编译头
  • (2.2w字)前端单元测试之Jest详解篇
  • (9)STL算法之逆转旋转
  • (delphi11最新学习资料) Object Pascal 学习笔记---第7章第3节(封装和窗体)
  • (Repost) Getting Genode with TrustZone on the i.MX
  • (三) diretfbrc详解
  • (一)搭建springboot+vue前后端分离项目--前端vue搭建
  • (转)使用VMware vSphere标准交换机设置网络连接
  • (转)重识new
  • (轉)JSON.stringify 语法实例讲解
  • *1 计算机基础和操作系统基础及几大协议
  • .bat批处理出现中文乱码的情况
  • .net 4.0发布后不能正常显示图片问题
  • .NET Conf 2023 回顾 – 庆祝社区、创新和 .NET 8 的发布
  • .NET Core WebAPI中封装Swagger配置
  • .NET 服务 ServiceController
  • @ComponentScan比较
  • [22]. 括号生成
  • [Android Studio 权威教程]断点调试和高级调试
  • [Android] Amazon 的 android 音视频开发文档
  • [ASP.NET 控件实作 Day7] 设定工具箱的控件图标
  • [BZOJ 1040] 骑士