mirror of
https://github.com/pen4uin/java-memshell-generator.git
synced 2026-09-23 18:21:52 +08:00
add: 添加对 Jakarta Servlet 的支持(SpringBoot 3.x/Tomcat 10.x)
This commit is contained in:
@@ -59,6 +59,8 @@ public class CustomHelper implements IHelper {
|
||||
enumShellType.add(Constants.SHELL_LISTENER);
|
||||
enumShellType.add(Constants.SHELL_FILTER);
|
||||
enumShellType.add(Constants.SHELL_INTERCEPTOR);
|
||||
enumShellType.add(Constants.SHELL_JAKARTA_LISTENER);
|
||||
enumShellType.add(Constants.SHELL_JAKARTA_FILTER);
|
||||
shell_type.setEnumValue(enumShellType);
|
||||
|
||||
IArg gadgetType = ShellHelperPlugin.pluginHelper.createArg();
|
||||
@@ -124,6 +126,18 @@ public class CustomHelper implements IHelper {
|
||||
output_path.setDescription("自定义输出路径");
|
||||
list.add(output_path);
|
||||
|
||||
IArg enable_bypass_jdk_module = ShellHelperPlugin.pluginHelper.createArg();
|
||||
enable_bypass_jdk_module.setName("bypass_jdk_module");
|
||||
enable_bypass_jdk_module.setType(7);
|
||||
List<String> enumenableBypass = new ArrayList();
|
||||
enumenableBypass.add(String.valueOf(false));
|
||||
enumenableBypass.add(String.valueOf(true));
|
||||
enable_bypass_jdk_module.setEnumValue(enumenableBypass);
|
||||
enable_bypass_jdk_module.setDefaultValue(String.valueOf(false));
|
||||
enable_bypass_jdk_module.setRequired(false);
|
||||
enable_bypass_jdk_module.setDescription("绕过高版本 JDK Module 访问限制");
|
||||
list.add(enable_bypass_jdk_module);
|
||||
|
||||
binder.setArgsList(list);
|
||||
return binder;
|
||||
}
|
||||
@@ -151,6 +165,7 @@ public class CustomHelper implements IHelper {
|
||||
if (config.getUrlPattern() == null) config.setUrlPattern("/*");
|
||||
config.setInjectorSimpleClassName(CommonUtil.getSimpleName(config.getInjectorClassName()));
|
||||
if (config.getSavePath() == null) config.setSavePath(System.getProperty("user.dir"));
|
||||
if (customArgs.get("bypass_jdk_module") != null) config.setEnableBypassJDKModule(Boolean.parseBoolean((String) customArgs.get("bypass_jdk_module")));
|
||||
|
||||
config.setSavePath(CommonUtil.getFileOutputPath(config.getOutputFormat(), config.getInjectorSimpleClassName(), config.getSavePath()));
|
||||
File f;
|
||||
|
||||
@@ -52,6 +52,8 @@ public class ProxyHelper implements IHelper {
|
||||
enumShellType.add(Constants.SHELL_FILTER);
|
||||
enumShellType.add(Constants.SHELL_LISTENER);
|
||||
enumShellType.add(Constants.SHELL_INTERCEPTOR);
|
||||
enumShellType.add(Constants.SHELL_JAKARTA_LISTENER);
|
||||
enumShellType.add(Constants.SHELL_JAKARTA_FILTER);
|
||||
shell_type.setEnumValue(enumShellType);
|
||||
shell_type.setDefaultValue(Constants.SHELL_LISTENER);
|
||||
shell_type.setRequired(true);
|
||||
@@ -109,6 +111,18 @@ public class ProxyHelper implements IHelper {
|
||||
output_path.setRequired(false);
|
||||
output_path.setDescription("自定义输出路径");
|
||||
list.add(output_path);
|
||||
|
||||
IArg enable_bypass_jdk_module = ShellHelperPlugin.pluginHelper.createArg();
|
||||
enable_bypass_jdk_module.setName("bypass_jdk_module");
|
||||
enable_bypass_jdk_module.setType(7);
|
||||
List<String> enumenableBypass = new ArrayList();
|
||||
enumenableBypass.add(String.valueOf(false));
|
||||
enumenableBypass.add(String.valueOf(true));
|
||||
enable_bypass_jdk_module.setEnumValue(enumenableBypass);
|
||||
enable_bypass_jdk_module.setDefaultValue(String.valueOf(false));
|
||||
enable_bypass_jdk_module.setRequired(false);
|
||||
enable_bypass_jdk_module.setDescription("绕过高版本 JDK Module 访问限制");
|
||||
list.add(enable_bypass_jdk_module);
|
||||
binder.setArgsList(list);
|
||||
return binder;
|
||||
}
|
||||
@@ -149,6 +163,7 @@ public class ProxyHelper implements IHelper {
|
||||
config.setShellClassName(ClassNameUtil.getRandomShellClassName(config.getShellType()));
|
||||
if (config.getShellSimpleClassName() == null)
|
||||
config.setShellSimpleClassName(CommonUtil.getSimpleName(config.getShellClassName()));
|
||||
if (customArgs.get("bypass_jdk_module") != null) config.setEnableBypassJDKModule(Boolean.parseBoolean((String) customArgs.get("bypass_jdk_module")));
|
||||
|
||||
config.setSavePath(CommonUtil.getFileOutputPath(config.getOutputFormat(), config.getInjectorSimpleClassName(), config.getSavePath()));
|
||||
|
||||
|
||||
@@ -49,6 +49,8 @@ public class ShellHelper implements IHelper {
|
||||
enumShellType.add(Constants.SHELL_LISTENER);
|
||||
enumShellType.add(Constants.SHELL_FILTER);
|
||||
enumShellType.add(Constants.SHELL_INTERCEPTOR);
|
||||
enumShellType.add(Constants.SHELL_JAKARTA_LISTENER);
|
||||
enumShellType.add(Constants.SHELL_JAKARTA_FILTER);
|
||||
shell_type.setEnumValue(enumShellType);
|
||||
|
||||
shell_type.setDefaultValue("Listener");
|
||||
@@ -134,6 +136,18 @@ public class ShellHelper implements IHelper {
|
||||
output_path.setDescription("自定义输出路径");
|
||||
list.add(output_path);
|
||||
|
||||
IArg enable_bypass_jdk_module = ShellHelperPlugin.pluginHelper.createArg();
|
||||
enable_bypass_jdk_module.setName("bypass_jdk_module");
|
||||
enable_bypass_jdk_module.setType(7);
|
||||
List<String> enumenableBypass = new ArrayList();
|
||||
enumenableBypass.add(String.valueOf(false));
|
||||
enumenableBypass.add(String.valueOf(true));
|
||||
enable_bypass_jdk_module.setEnumValue(enumenableBypass);
|
||||
enable_bypass_jdk_module.setDefaultValue(String.valueOf(false));
|
||||
enable_bypass_jdk_module.setRequired(false);
|
||||
enable_bypass_jdk_module.setDescription("绕过高版本 JDK Module 访问限制");
|
||||
list.add(enable_bypass_jdk_module);
|
||||
|
||||
binder.setArgsList(list);
|
||||
return binder;
|
||||
}
|
||||
@@ -179,6 +193,7 @@ public class ShellHelper implements IHelper {
|
||||
config.setShellClassName(ClassNameUtil.getRandomShellClassName(config.getShellType()));
|
||||
if (config.getShellSimpleClassName() == null)
|
||||
config.setShellSimpleClassName(CommonUtil.getSimpleName(config.getShellClassName()));
|
||||
if (customArgs.get("bypass_jdk_module") != null) config.setEnableBypassJDKModule(Boolean.parseBoolean((String) customArgs.get("bypass_jdk_module")));
|
||||
|
||||
config.setSavePath(CommonUtil.getFileOutputPath(config.getOutputFormat(), config.getInjectorSimpleClassName(), config.getSavePath()));
|
||||
|
||||
|
||||
Reference in New Issue
Block a user