style: fmt code

This commit is contained in:
ReaJason
2026-04-26 20:39:53 +08:00
parent d9733e1512
commit a8fb030a60
150 changed files with 948 additions and 1522 deletions
+85 -86
View File
@@ -26,19 +26,19 @@ Tomcat 使用的是自己 Catalina 模块提供的 Servlets 实现,限制较
<div className="tomcat-version-table">
<figure>
| Version | Servlet | JakartaServlet | Filter | JakartaFilter | Listener | JakartaListener | Valve | JakartaValve | ProxyValve | JakartaProxyValve | WebSocket | JakartaWebSocket | Upgrade | AgentFilterChain | AgentContextValve |
|-----|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
| Tomcat 5.x | ✔️ | | ✔️ | | ✔️ | | ✔️ | | ✔️ | | | | | ✔️ | ✔️ |
| Tomcat 6.x | ✔️ | | ✔️ | | ✔️ | | ✔️ | | ✔️ | | | | | ✔️ | ✔️ |
| Tomcat 7.x | ✔️ | | ✔️ | | ✔️ | | ✔️ | | ✔️ | | ✔️ | | | ✔️ | ✔️ |
| Tomcat 8.x | ✔️ | | ✔️ | | ✔️ | | ✔️ | | ✔️ | | ✔️ | | ✔️ | ✔️ | ✔️ |
| Tomcat 9.x | ✔️ | | ✔️ | | ✔️ | | ✔️ | | ✔️ | | ✔️ | | ✔️ | ✔️ | ✔️ |
| Tomcat 10.x | | ✔️ | | ✔️ | | ✔️ | | ✔️ | | ✔️ | | ✔️ | ✔️ | ✔️ | ✔️ |
| Tomcat 11.x | | ✔️ | | ✔️ | | ✔️ | | ✔️ | | ✔️ | | ✔️ | ✔️ | ✔️ | ✔️ |
| Spring Boot 1.x | ✔️ | | ✔️ | | ✔️ | | ✔️ | | ✔️ | | ✔️ | | ✔️ | ✔️ | ✔️ |
| Spring Boot 2.x | ✔️ | | ✔️ | | ✔️ | | ✔️ | | ✔️ | | ✔️ | | ✔️ | ✔️ | ✔️ |
| Spring Boot 3.x | | ✔️ | | ✔️ | | ✔️ | | ✔️ | | ✔️ | | ✔️ | ✔️ | ✔️ | ✔️ |
| BES 9.5.1 | ✔️ | | ✔️ | | ✔️ | | ✔️ | | ✔️ | | ✔️ | | | ✔️ | ✔️ |
| Version | Servlet | JakartaServlet | Filter | JakartaFilter | Listener | JakartaListener | Valve | JakartaValve | ProxyValve | JakartaProxyValve | WebSocket | JakartaWebSocket | Upgrade | AgentFilterChain | AgentContextValve |
| --------------- | :-----: | :------------: | :----: | :-----------: | :------: | :-------------: | :---: | :----------: | :--------: | :---------------: | :-------: | :--------------: | :-----: | :--------------: | :---------------: |
| Tomcat 5.x | ✔️ | | ✔️ | | ✔️ | | ✔️ | | ✔️ | | | | | ✔️ | ✔️ |
| Tomcat 6.x | ✔️ | | ✔️ | | ✔️ | | ✔️ | | ✔️ | | | | | ✔️ | ✔️ |
| Tomcat 7.x | ✔️ | | ✔️ | | ✔️ | | ✔️ | | ✔️ | | ✔️ | | | ✔️ | ✔️ |
| Tomcat 8.x | ✔️ | | ✔️ | | ✔️ | | ✔️ | | ✔️ | | ✔️ | | ✔️ | ✔️ | ✔️ |
| Tomcat 9.x | ✔️ | | ✔️ | | ✔️ | | ✔️ | | ✔️ | | ✔️ | | ✔️ | ✔️ | ✔️ |
| Tomcat 10.x | | ✔️ | | ✔️ | | ✔️ | | ✔️ | | ✔️ | | ✔️ | ✔️ | ✔️ | ✔️ |
| Tomcat 11.x | | ✔️ | | ✔️ | | ✔️ | | ✔️ | | ✔️ | | ✔️ | ✔️ | ✔️ | ✔️ |
| Spring Boot 1.x | ✔️ | | ✔️ | | ✔️ | | ✔️ | | ✔️ | | ✔️ | | ✔️ | ✔️ | ✔️ |
| Spring Boot 2.x | ✔️ | | ✔️ | | ✔️ | | ✔️ | | ✔️ | | ✔️ | | ✔️ | ✔️ | ✔️ |
| Spring Boot 3.x | | ✔️ | | ✔️ | | ✔️ | | ✔️ | | ✔️ | | ✔️ | ✔️ | ✔️ | ✔️ |
| BES 9.5.1 | ✔️ | | ✔️ | | ✔️ | | ✔️ | | ✔️ | | ✔️ | | | ✔️ | ✔️ |
<figcaption align="center">表 1Tomcat 各版本内存马挂载类型参考表</figcaption>
</figure>
@@ -66,19 +66,19 @@ Jetty6 版本使用的包名为 `org.mortbay.jetty`,而 7 以上使用的是 `
<div className="jetty-version-table">
<figure>
| Version | Servlet | JakartaServlet | Filter | JakartaFilter | Listener | JakartaListener | Handler | JakartaHandler | Customizer | AgentHandler |
|-----|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
| Jetty 6.x | ✔️ | | ✔️ | | ✔️ | | ✔️ | | | ✔️ |
| Jetty 7.x | ✔️ | | ✔️ | | ✔️ | | ✔️ | | | ✔️ |
| Jetty 8.x | ✔️ | | ✔️ | | ✔️ | | ✔️ | | | ✔️ |
| Jetty 9.x | ✔️ | | ✔️ | | ✔️ | | ✔️ | | ✔️ | ✔️ |
| Jetty 10.x | ✔️ | | ✔️ | | ✔️ | | ✔️ | | ✔️ | ✔️ |
| Jetty 11.x | | ✔️ | | ✔️ | | ✔️ | | ✔️ | ✔️ | ✔️ |
| Jetty 12.x ee8 | ✔️ | | ✔️ | | ✔️ | | ✔️ | | | ✔️ |
| Jetty 12.x ee9~ee11 | | ✔️ | | ✔️ | | ✔️ | | ✔️ | | ✔️ |
| Spring Boot 1.x/2.x | ✔️ | | ✔️ | | ✔️ | | ✔️ | | ✔️ | ✔️ |
| Spring Boot 3.0.x/3.1.x | ✔️ | | ✔️ | | ✔️ | | ✔️ | | ✔️ | ✔️ |
| Spring Boot 3.2.x+ | | ✔️ | | ✔️ | | ✔️ | | ✔️ | | ✔️ |
| Version | Servlet | JakartaServlet | Filter | JakartaFilter | Listener | JakartaListener | Handler | JakartaHandler | Customizer | AgentHandler |
| ----------------------- | :-----: | :------------: | :----: | :-----------: | :------: | :-------------: | :-----: | :------------: | :--------: | :----------: |
| Jetty 6.x | ✔️ | | ✔️ | | ✔️ | | ✔️ | | | ✔️ |
| Jetty 7.x | ✔️ | | ✔️ | | ✔️ | | ✔️ | | | ✔️ |
| Jetty 8.x | ✔️ | | ✔️ | | ✔️ | | ✔️ | | | ✔️ |
| Jetty 9.x | ✔️ | | ✔️ | | ✔️ | | ✔️ | | ✔️ | ✔️ |
| Jetty 10.x | ✔️ | | ✔️ | | ✔️ | | ✔️ | | ✔️ | ✔️ |
| Jetty 11.x | | ✔️ | | ✔️ | | ✔️ | | ✔️ | ✔️ | ✔️ |
| Jetty 12.x ee8 | ✔️ | | ✔️ | | ✔️ | | ✔️ | | | ✔️ |
| Jetty 12.x ee9~ee11 | | ✔️ | | ✔️ | | ✔️ | | ✔️ | | ✔️ |
| Spring Boot 1.x/2.x | ✔️ | | ✔️ | | ✔️ | | ✔️ | | ✔️ | ✔️ |
| Spring Boot 3.0.x/3.1.x | ✔️ | | ✔️ | | ✔️ | | ✔️ | | ✔️ | ✔️ |
| Spring Boot 3.2.x+ | | ✔️ | | ✔️ | | ✔️ | | ✔️ | | ✔️ |
<figcaption align="center">表 2Jetty 各版本内存马挂载类型参考表</figcaption>
</figure>
@@ -106,11 +106,11 @@ JBoss 分为 JBossAS 和 JBossEAPJBossAS 全版本和 JBossEAP6 使用的 Cat
<div className="jboss-version-table">
<figure>
| Version | Filter | Listener | Valve | ProxyValve | AgentFilterChain | AgentContextValve |
|---|:---:|:---:|:---:|:---:|:---:|:---:|
| JBoss 4.x | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| JBoss AS 5.x ~ 7.x | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| JBoss EAP 6.x | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| Version | Filter | Listener | Valve | ProxyValve | AgentFilterChain | AgentContextValve |
| ------------------ | :----: | :------: | :---: | :--------: | :--------------: | :---------------: |
| JBoss 4.x | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| JBoss AS 5.x ~ 7.x | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| JBoss EAP 6.x | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
<figcaption align="center">表 3JBoss 各版本内存马挂载类型参考表</figcaption>
</figure>
@@ -138,14 +138,14 @@ Undertow 是 JBoss 社区开发的高性能 Java Web 服务器,Wildfly 以及
<div className="undertow-version-table">
<figure>
| Version | Servlet | JakartaServlet | Filter | JakartaFilter | Listener | JakartaListener | AgentServletHandler |
|-----|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
| Undertow 1.x ~ 2.2.x | ✔️ | | ✔️ | | ✔️ | | ✔️ |
| Undertow 2.3.x+ | | ✔️ | | ✔️ | | ✔️ | ✔️ |
| JBoss EAP 7.x | ✔️ | | ✔️ | | ✔️ | | ✔️ |
| JBoss EAP 8.x | | ✔️ | | ✔️ | | ✔️ | ✔️ |
| WildFly 9.x ~ 26.x | ✔️ | | ✔️ | | ✔️ | | ✔️ |
| WildFly 27.x+ | | ✔️ | | ✔️ | | ✔️ | ✔️ |
| Version | Servlet | JakartaServlet | Filter | JakartaFilter | Listener | JakartaListener | AgentServletHandler |
| -------------------- | :-----: | :------------: | :----: | :-----------: | :------: | :-------------: | :-----------------: |
| Undertow 1.x ~ 2.2.x | ✔️ | | ✔️ | | ✔️ | | ✔️ |
| Undertow 2.3.x+ | | ✔️ | | ✔️ | | ✔️ | ✔️ |
| JBoss EAP 7.x | ✔️ | | ✔️ | | ✔️ | | ✔️ |
| JBoss EAP 8.x | | ✔️ | | ✔️ | | ✔️ | ✔️ |
| WildFly 9.x ~ 26.x | ✔️ | | ✔️ | | ✔️ | | ✔️ |
| WildFly 27.x+ | | ✔️ | | ✔️ | | ✔️ | ✔️ |
<figcaption align="center">表 4Undertow 各版本内存马挂载类型参考表</figcaption>
</figure>
@@ -168,14 +168,14 @@ GlassFish 进行内存马的生成。
<div className="glassfish-version-table">
<figure>
| Version | Filter | JakartaFilter | Listener | JakartaListener | Valve | JakartaValve | AgentFilterChain | AgentContextValve |
|-----|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
| GlassFish 4.x ~ 5.x | ✔️ | | ✔️ | | ✔️ | | ✔️ | ✔️ |
| GlassFish 6.x+ | | ✔️ | | ✔️ | | ✔️ | ✔️ | ✔️ |
| Payara 5.x+ | ✔️ | | ✔️ | | ✔️ | | ✔️ | ✔️ |
| Payara 6.x+ | | ✔️ | | ✔️ | | ✔️ | ✔️ | ✔️ |
| Apusic V10 | ✔️ | | ✔️ | | ✔️ | | ✔️ | ✔️ |
| Primeton V6.5 | ✔️ | | ✔️ | | ✔️ | | ✔️ | ✔️ |
| Version | Filter | JakartaFilter | Listener | JakartaListener | Valve | JakartaValve | AgentFilterChain | AgentContextValve |
| ------------------- | :----: | :-----------: | :------: | :-------------: | :---: | :----------: | :--------------: | :---------------: |
| GlassFish 4.x ~ 5.x | ✔️ | | ✔️ | | ✔️ | | ✔️ | ✔️ |
| GlassFish 6.x+ | | ✔️ | | ✔️ | | ✔️ | ✔️ | ✔️ |
| Payara 5.x+ | ✔️ | | ✔️ | | ✔️ | | ✔️ | ✔️ |
| Payara 6.x+ | | ✔️ | | ✔️ | | ✔️ | ✔️ | ✔️ |
| Apusic V10 | ✔️ | | ✔️ | | ✔️ | | ✔️ | ✔️ |
| Primeton V6.5 | ✔️ | | ✔️ | | ✔️ | | ✔️ | ✔️ |
<figcaption align="center">表 5GlassFish 各版本内存马挂载类型参考表</figcaption>
</figure>
@@ -202,10 +202,10 @@ Resin 使用的包名为 `com.caucho.`,泛微 OA 使用的就是 Resin,服
<figure>
| Version | Filter | Listener | AgentFilterChain |
|-----|:---:|:---:|:---:|
| Resin 3.x | ✔️ | ✔️ | ✔️ |
| Resin 4.x | ✔️ | ✔️ | ✔️ |
| Version | Filter | Listener | AgentFilterChain |
| --------- | :----: | :------: | :--------------: |
| Resin 3.x | ✔️ | ✔️ | ✔️ |
| Resin 4.x | ✔️ | ✔️ | ✔️ |
<figcaption align="center">表 6Resin 各版本内存马挂载类型参考表</figcaption>
</figure>
@@ -218,11 +218,11 @@ WebLogic 使用的包名为 `weblogic.`,服务类型选择 WebLogic 进行内
<figure>
| Version | Filter | Listener | AgentServletContext |
|-----|:---:|:---:|:---:|
| WebLogic 10.3.6 | ✔️ | ✔️ | ✔️ |
| WebLogic 12.x | ✔️ | ✔️ | ✔️ |
| WebLogic 14.x | ✔️ | ✔️ | ✔️ |
| Version | Filter | Listener | AgentServletContext |
| --------------- | :----: | :------: | :-----------------: |
| WebLogic 10.3.6 | ✔️ | ✔️ | ✔️ |
| WebLogic 12.x | ✔️ | ✔️ | ✔️ |
| WebLogic 14.x | ✔️ | ✔️ | ✔️ |
<figcaption align="center">表 7WebLogic 各版本内存马挂载类型参考表</figcaption>
</figure>
@@ -236,11 +236,11 @@ WebSphere 是 IBM 研发的商用 Servlets 容器,开源版本为 Websphere li
<figure>
| Version | Filter | Listener | AgentFilterManager |
|-----|:---:|:---:|:---:|
| WebSphere 7.x | ✔️ | ✔️ | ✔️(需要开启 debug 模式才允许 attach |
| WebSphere 8.x | ✔️ | ✔️ | ✔️ |
| WebSphere 9.x | ✔️ | ✔️ | ✔️ |
| Version | Filter | Listener | AgentFilterManager |
| ------------- | :----: | :------: | :------------------------------------: |
| WebSphere 7.x | ✔️ | ✔️ | ✔️(需要开启 debug 模式才允许 attach |
| WebSphere 8.x | ✔️ | ✔️ | ✔️ |
| WebSphere 9.x | ✔️ | ✔️ | ✔️ |
<figcaption align="center">表 8WebSphere 各版本内存马挂载类型参考表</figcaption>
</figure>
@@ -255,10 +255,10 @@ BES 进行内存马的生成。
<figure>
| Version | Filter | Listener | Valve | AgentFilterChain | AgentContextValve |
|---|:---:|:---:|:---:|:---:|:---:|
| BES 9.5.2 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| BES 9.5.5 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| Version | Filter | Listener | Valve | AgentFilterChain | AgentContextValve |
| --------- | :----: | :------: | :---: | :--------------: | :---------------: |
| BES 9.5.2 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| BES 9.5.5 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
<figcaption align="center">表 9BES 各版本内存马挂载类型参考表</figcaption>
</figure>
@@ -277,11 +277,11 @@ TongWeb 东方通,其基于 Tomcat 进行二开,并且在最初的 6 版本
<figure>
| Version | Filter | Listener | Valve | AgentFilterChain | AgentContextValve |
|---|:---:|:---:|:---:|:---:|:---:|
| TongWeb 6.x | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| TongWeb 7.x | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| TongWeb 8.x | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| Version | Filter | Listener | Valve | AgentFilterChain | AgentContextValve |
| ----------- | :----: | :------: | :---: | :--------------: | :---------------: |
| TongWeb 6.x | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| TongWeb 7.x | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| TongWeb 8.x | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
<figcaption align="center">表 10TongWeb 各版本内存马挂载类型参考表</figcaption>
</figure>
@@ -296,10 +296,10 @@ Apusic 进行内存马生成,Apusic10 版本选择 [GlassFish](#glassfish) 进
<figure>
| Version | Filter | Listener | AgentFilterChain |
|---|:---:|:---:|:---:|
| Apusic 9.0 | ✔️ | ✔️ | ✔️ |
| Apusic 9.0.1 | ✔️ | ✔️ | ✔️ |
| Version | Filter | Listener | AgentFilterChain |
| ------------ | :----: | :------: | :--------------: |
| Apusic 9.0 | ✔️ | ✔️ | ✔️ |
| Apusic 9.0.1 | ✔️ | ✔️ | ✔️ |
<figcaption align="center">表 11Apusic 各版本内存马挂载类型参考表</figcaption>
</figure>
@@ -319,10 +319,10 @@ iasFilterConfigs 因此 Filter 注入单独进行了适配。服务类型选择
<figure>
| Version | Filter | Listener | Valve | AgentFilterChain | AgentContextValve |
|---|:---:|:---:|:---:|:---:|:---:|
| InforSuite 9| ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| InforSuite 10 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| Version | Filter | Listener | Valve | AgentFilterChain | AgentContextValve |
| ------------- | :----: | :------: | :---: | :--------------: | :---------------: |
| InforSuite 9 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| InforSuite 10 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
<figcaption align="center">表 12InforSuite 各版本内存马挂载类型参考表</figcaption>
</figure>
@@ -336,12 +336,12 @@ SpringWebMVC 进行内存马生成。
<div className="springwebmvc-version-table">
<figure>
| Version | Interceptor | JakartaInterceptor | ControllerHandler | JakartaControllerHandler | AgentFrameworkServlet |
|---|:---:|:---:|:---:|:---:|:---:|
| SpringWebMVC 3.x ~ 5.x| ✔️ | | ✔️ | | ✔️ |
| Spring Boot 1.x/2.x | ✔️ | | ✔️ | | ✔️ |
| SpringWebMVC 6.x | | ✔️ | | ✔️ | ✔️ |
| Spring Boot 3.x | | ✔️ | | ✔️ | ✔️ |
| Version | Interceptor | JakartaInterceptor | ControllerHandler | JakartaControllerHandler | AgentFrameworkServlet |
| ---------------------- | :---------: | :----------------: | :---------------: | :----------------------: | :-------------------: |
| SpringWebMVC 3.x ~ 5.x | ✔️ | | ✔️ | | ✔️ |
| Spring Boot 1.x/2.x | ✔️ | | ✔️ | | ✔️ |
| SpringWebMVC 6.x | | ✔️ | | ✔️ | ✔️ |
| Spring Boot 3.x | | ✔️ | | ✔️ | ✔️ |
<figcaption align="center">表 13SpringWebMVC 各版本内存马挂载类型参考表</figcaption>
</figure>
@@ -359,10 +359,9 @@ SpringWebMVC 进行内存马生成。
Spring Boot 项目中基于 reactor 异步 IO 模型的服务组件,底层使用的 Netty,一般常见于各种 SpringCloud 项目,例如网关。服务类型选择
SpringWebFlux 进行内存马生成。
## XXL-JOB
> 官网:https://www.xuxueli.com/xxl-job/
XXL-JOB 是一个分布式任务调度平台,由于 executor 出现过反序列化漏洞,并且弱密码情况下可在 admin 前台下发任务,在 executor 执行任意代码,因此在 MemShellParty 中也提供了 XXL-JOB 内存马的生成,服务类型选择 XXL-JOB 进行内存马生成。
executor 仅支持 Netty Handler 内存马注入。
executor 仅支持 Netty Handler 内存马注入。