技术文章阅读-Tomcat进程注入技术复现

https://xz.aliyun.com/t/8383

 

原理

在于Java在Java SE5后引入了Java Instrumentation,该功能指的是可以用独立于应用程序之外的代理程序来监测和协助包括但不限于获取JVM运行时状态,替换和修改类定义等。

然后找处理http的类,发现处理过程中,org.apache.catalina.core.ApplicationFilterChain类的internalDoFilter方法最符合要求

 

然后搭建环境,测试了下 https://github.com/rebeyond/memShell ,这rebeyond不是冰蝎的作者吗,我说这id咋看着有点眼熟

 

手动搭建tomcat的过程

# 进入Tomcat安装目录下的bin目录
cd usr/local/tomcat9/bin
# 解压commons-daemon-native.tar.gz
tar zxvf commons-daemon-native.tar.gz
cd commons-daemon-1.2.2-native-src/unix/
# 使java配置生效
source /etc/profile
# 编译
./configure
make
# make后,会在当前文件夹下生成一个名为 jsvc 的文件,将其复制到$CATALINA_HOME/bin目录
cp ../..
# 添加一个用来运行Tomcat的用户
sudo adduser tomcat(根据提示设置密码)
# 回到$CATALINA_HOME/bin目录下
cd ../../
# 设置$CATALINE_HOME文件夹及其所有子文件Owner为tomcat
sudo chown -R tomcat:tomcat /usr/local/tomcat9
# 认证tomcat用户
su tomcat
# 启动tomcat
./daemon.sh start

  

 

posted @ 2020-10-19 14:22  君莫笑hhhhhh  阅读(201)  评论(0编辑  收藏  举报