无源码远程调试WAR包(以S2-001为例)—docker篇

admin 2025年4月21日21:53:57评论0 views字数 724阅读2分24秒阅读模式

环境搭建

安装IDEA当前环境为2022.3

无源码远程调试WAR包(以S2-001为例)—docker篇

安装tomcatJAVA8

无源码远程调试WAR包(以S2-001为例)—docker篇

下载vulhub

无源码远程调试WAR包(以S2-001为例)—docker篇

配置好docker环境,能通过docker把对应漏洞环境启动,本例以vulhubstruts2s2-001漏洞环境为例:

无源码远程调试WAR包(以S2-001为例)—docker篇

配置docker

修改Dockerfiledocker-compose.yml两个文件,使其暴漏出5005端口

Dockerfile

无源码远程调试WAR包(以S2-001为例)—docker篇

docker-compose.yml

无源码远程调试WAR包(以S2-001为例)—docker篇

/usr/local/tomcat/bin/catalina.sh中添加如下语句:

Linux下这两个语句任意一个都可以

JAVA_OPTS="-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005"

JAVA_OPTS="$JAVA_OPTS -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005"

最终配置结果如下图

无源码远程调试WAR包(以S2-001为例)—docker篇

退出重启docker

命令用docker-compose stop别用docker-compose down

无源码远程调试WAR包(以S2-001为例)—docker篇

IDEA配置远程调试

配置Add as Libraryjar包、反编译源码哪种方式都可以。

解压war包,用idea打开这个目录

无源码远程调试WAR包(以S2-001为例)—docker篇

接下来在class文件同级目录下建立java文件,把idea反编译java代码直接拷贝进去(本例中创建LoginAction.java文件,把idea反编译的LoginAction.class文件中的java代码拷贝到LoginAction.java文件),接下来打断点调试即可。

无源码远程调试WAR包(以S2-001为例)—docker篇

调试界面

无源码远程调试WAR包(以S2-001为例)—docker篇

原文始发于微信公众号(枯藤闲画云):无源码远程调试WAR包(以S2-001为例)—docker篇

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年4月21日21:53:57
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   无源码远程调试WAR包(以S2-001为例)—docker篇https://cn-sec.com/archives/3981761.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息