SYMBOL INDEX (202 symbols across 45 files) FILE: src/main/java/com/feihong/ldap/HTTPServer.java class HTTPServer (line 22) | public class HTTPServer { method start (line 24) | public static void start() throws IOException { method handleXXELogRequest (line 57) | public static void handleXXELogRequest(HttpExchange exchange) throws I... method handleJarRequest (line 68) | private static void handleJarRequest(HttpExchange exchange) throws IOE... method handleClassRequest (line 92) | private static void handleClassRequest(HttpExchange exchange) throws I... method handleWSDLRequest (line 110) | private static void handleWSDLRequest(HttpExchange exchange) throws Ex... method parseQuery (line 180) | private static Map parseQuery(String query){ method createJar (line 204) | private static String createJar(String type, String... params) throws ... FILE: src/main/java/com/feihong/ldap/LdapServer.java class LdapServer (line 21) | public class LdapServer extends InMemoryOperationInterceptor { method start (line 25) | public static void start() { method LdapServer (line 46) | public LdapServer() throws Exception { method processSearchResult (line 71) | @Override FILE: src/main/java/com/feihong/ldap/Starter.java class Starter (line 6) | public class Starter { method main (line 7) | public static void main(String[] args) throws IOException { FILE: src/main/java/com/feihong/ldap/controllers/BasicController.java class BasicController (line 17) | @LdapMapping(uri = { "/basic" }) method sendResult (line 24) | @Override method process (line 77) | @Override FILE: src/main/java/com/feihong/ldap/controllers/GroovyBypassController.java class GroovyBypassController (line 26) | @LdapMapping(uri = { "/groovybypass" }) method sendResult (line 36) | @Override method process (line 58) | @Override FILE: src/main/java/com/feihong/ldap/controllers/LdapController.java type LdapController (line 9) | public interface LdapController { method sendResult (line 10) | void sendResult(InMemoryInterceptedSearchResult result, String base) t... method process (line 11) | void process(String base) throws UnSupportedPayloadTypeException, Inco... FILE: src/main/java/com/feihong/ldap/controllers/PropertiesRefAddr.java class PropertiesRefAddr (line 7) | public class PropertiesRefAddr extends RefAddr { method PropertiesRefAddr (line 11) | public PropertiesRefAddr(String addrType, Properties props) { method getContent (line 16) | public Object getContent() { FILE: src/main/java/com/feihong/ldap/controllers/SerializedDataController.java class SerializedDataController (line 15) | @LdapMapping(uri = { "/deserialize" }) method sendResult (line 21) | @Override method process (line 55) | @Override FILE: src/main/java/com/feihong/ldap/controllers/TomcatBypassController.java class TomcatBypassController (line 22) | @LdapMapping(uri = { "/tomcatbypass" }) method sendResult (line 33) | @Override method process (line 75) | @Override class TomcatBypassHelper (line 121) | private class TomcatBypassHelper{ method getExecCode (line 135) | public String getExecCode(String cmd) throws IOException { method getDnsRequestCode (line 152) | public String getDnsRequestCode(String dnslog){ method getReverseShellCode (line 165) | public String getReverseShellCode(String ip, String port){ method injectTomcatMemsell (line 175) | public String injectTomcatMemsell(){ method injectSpringMemshell (line 179) | public String injectSpringMemshell(){ method injectMemshell (line 183) | public String injectMemshell(String className){ FILE: src/main/java/com/feihong/ldap/controllers/WebsphereBypassController.java class WebsphereBypassController (line 22) | @LdapMapping(uri = { "/webspherebypass" }) method sendResult (line 28) | @Override method process (line 60) | @Override FILE: src/main/java/com/feihong/ldap/enumtypes/GadgetType.java type GadgetType (line 3) | public enum GadgetType { FILE: src/main/java/com/feihong/ldap/enumtypes/MemShellType.java class MemShellType (line 3) | public final class MemShellType { method MemShellType (line 5) | private MemShellType(){} FILE: src/main/java/com/feihong/ldap/enumtypes/PayloadType.java type PayloadType (line 3) | public enum PayloadType { FILE: src/main/java/com/feihong/ldap/enumtypes/WebsphereActionType.java type WebsphereActionType (line 3) | public enum WebsphereActionType { FILE: src/main/java/com/feihong/ldap/exceptions/IncorrectParamsException.java class IncorrectParamsException (line 3) | public class IncorrectParamsException extends RuntimeException { method IncorrectParamsException (line 4) | public IncorrectParamsException(){ method IncorrectParamsException (line 7) | public IncorrectParamsException(String message){ FILE: src/main/java/com/feihong/ldap/exceptions/UnSupportedActionTypeException.java class UnSupportedActionTypeException (line 3) | public class UnSupportedActionTypeException extends RuntimeException{ method UnSupportedActionTypeException (line 4) | public UnSupportedActionTypeException(){ method UnSupportedActionTypeException (line 7) | public UnSupportedActionTypeException(String message){ FILE: src/main/java/com/feihong/ldap/exceptions/UnSupportedGadgetTypeException.java class UnSupportedGadgetTypeException (line 3) | public class UnSupportedGadgetTypeException extends RuntimeException { method UnSupportedGadgetTypeException (line 4) | public UnSupportedGadgetTypeException(){ super();} method UnSupportedGadgetTypeException (line 5) | public UnSupportedGadgetTypeException(String message){ FILE: src/main/java/com/feihong/ldap/exceptions/UnSupportedPayloadTypeException.java class UnSupportedPayloadTypeException (line 3) | public class UnSupportedPayloadTypeException extends RuntimeException { method UnSupportedPayloadTypeException (line 4) | public UnSupportedPayloadTypeException(){ method UnSupportedPayloadTypeException (line 7) | public UnSupportedPayloadTypeException(String message){ FILE: src/main/java/com/feihong/ldap/gadgets/C3P0.java class C3P0 (line 25) | public class C3P0 { method getBytes (line 26) | public static byte[] getBytes(PayloadType type, String... param) throw... class PoolSource (line 83) | private static final class PoolSource implements ConnectionPoolDataSou... method PoolSource (line 88) | public PoolSource ( String className, String url ) { method getReference (line 93) | public Reference getReference () throws NamingException { method getLogWriter (line 97) | public PrintWriter getLogWriter () throws SQLException {return null;} method setLogWriter (line 98) | public void setLogWriter ( PrintWriter out ) throws SQLException {} method setLoginTimeout (line 99) | public void setLoginTimeout ( int seconds ) throws SQLException {} method getLoginTimeout (line 100) | public int getLoginTimeout () throws SQLException {return 0;} method getParentLogger (line 101) | public Logger getParentLogger () throws SQLFeatureNotSupportedExcept... method getPooledConnection (line 102) | public PooledConnection getPooledConnection () throws SQLException {... method getPooledConnection (line 103) | public PooledConnection getPooledConnection ( String user, String pa... FILE: src/main/java/com/feihong/ldap/gadgets/CommonsBeanutils1.java class CommonsBeanutils1 (line 13) | public class CommonsBeanutils1 { method main (line 14) | public static void main(String[] args) throws Exception { method getBytes (line 21) | public static byte[] getBytes(PayloadType type, String... param) throw... FILE: src/main/java/com/feihong/ldap/gadgets/CommonsCollections1.java class CommonsCollections1 (line 21) | public class CommonsCollections1 { method main (line 22) | public static void main(String[] args) throws Exception { method getBytes (line 29) | public static byte[] getBytes(PayloadType type, String... param) throw... FILE: src/main/java/com/feihong/ldap/gadgets/CommonsCollections2.java class CommonsCollections2 (line 21) | public class CommonsCollections2 { method main (line 22) | public static void main(String[] args) throws Exception { method getBytes (line 29) | public static byte[] getBytes(PayloadType type, String... param) throw... FILE: src/main/java/com/feihong/ldap/gadgets/Jre8u20.java class Jre8u20 (line 18) | public class Jre8u20 { method main (line 19) | public static void main(String[] args) throws Exception { method getBytes (line 26) | public static byte[] getBytes(PayloadType type, String... param) throw... FILE: src/main/java/com/feihong/ldap/gadgets/URLDNS.java class URLDNS (line 13) | public class URLDNS { method getBytes (line 14) | public static byte[] getBytes(final String url) throws Exception { class SilentURLStreamHandler (line 36) | static class SilentURLStreamHandler extends URLStreamHandler { method openConnection (line 38) | protected URLConnection openConnection(URL u) throws IOException { method getHostAddress (line 42) | protected synchronized InetAddress getHostAddress(URL u) { FILE: src/main/java/com/feihong/ldap/gadgets/utils/ClassFiles.java class ClassFiles (line 7) | public class ClassFiles { method classAsFile (line 8) | public static String classAsFile(final Class clazz) { method classAsFile (line 12) | public static String classAsFile(final Class clazz, boolean suffix) { method classAsBytes (line 25) | public static byte[] classAsBytes(final Class clazz) { FILE: src/main/java/com/feihong/ldap/gadgets/utils/Gadgets.java class Gadgets (line 24) | @SuppressWarnings ( { class StubTransletPayload (line 39) | public static class StubTransletPayload extends AbstractTranslet imple... method transform (line 44) | public void transform ( DOM document, SerializationHandler[] handler... method transform (line 47) | @Override class Foo (line 52) | public static class Foo implements Serializable { method createMemoitizedProxy (line 58) | public static T createMemoitizedProxy ( final Map ... method createMemoizedInvocationHandler (line 63) | public static InvocationHandler createMemoizedInvocationHandler ( fina... method createProxy (line 68) | public static T createProxy ( final InvocationHandler ih, final Cl... method createMap (line 78) | public static Map createMap ( final String key, final ... method createTemplatesImpl (line 85) | public static Object createTemplatesImpl (PayloadType type, String... ... method createTemplatesImpl (line 99) | public static T createTemplatesImpl (PayloadType type, Class tp... method makeMap (line 165) | public static HashMap makeMap(Object v1, Object v2) throws Exception, ... FILE: src/main/java/com/feihong/ldap/gadgets/utils/Reflections.java class Reflections (line 10) | @SuppressWarnings ( "restriction" ) method setAccessible (line 13) | public static void setAccessible(AccessibleObject member) { method getField (line 18) | public static Field getField(final Class clazz, final String fieldN... method setFieldValue (line 31) | public static void setFieldValue(final Object obj, final String fieldN... method getFieldValue (line 36) | public static Object getFieldValue(final Object obj, final String fiel... method getFirstCtor (line 41) | public static Constructor getFirstCtor(final String name) throws Ex... method newInstance (line 47) | public static Object newInstance(String className, Object ... args) th... method createWithoutConstructor (line 51) | public static T createWithoutConstructor ( Class classToInstant... method createWithConstructor (line 56) | @SuppressWarnings ( {"unchecked"} ) FILE: src/main/java/com/feihong/ldap/gadgets/utils/Util.java class Util (line 3) | public class Util { method deleteAt (line 4) | public static byte[] deleteAt(byte[] bs, int index) { method addAtIndex (line 21) | public static byte[] addAtIndex(byte[] bs, int index, byte b) { method addAtLast (line 32) | public static byte[] addAtLast(byte[] bs, byte b) { FILE: src/main/java/com/feihong/ldap/template/CommandTemplate.java class CommandTemplate (line 8) | public class CommandTemplate implements Template{ method CommandTemplate (line 13) | public CommandTemplate(String cmd){ method CommandTemplate (line 20) | public CommandTemplate(String cmd, String className){ method cache (line 27) | public void cache(){ method getClassName (line 31) | public String getClassName(){ method getBytes (line 35) | public byte[] getBytes(){ method generate (line 39) | public void generate(){ FILE: src/main/java/com/feihong/ldap/template/DnslogTemplate.java class DnslogTemplate (line 9) | public class DnslogTemplate implements Template { method DnslogTemplate (line 15) | public DnslogTemplate(String dnslog){ method DnslogTemplate (line 22) | public DnslogTemplate(String dnslog, String className){ method cache (line 29) | public void cache(){ method getClassName (line 33) | public String getClassName(){ method getBytes (line 37) | public byte[] getBytes(){ method generate (line 41) | public void generate(){ FILE: src/main/java/com/feihong/ldap/template/DynamicFilterTemplate.java class DynamicFilterTemplate (line 14) | public class DynamicFilterTemplate implements Filter { method DynamicFilterTemplate (line 21) | public DynamicFilterTemplate(){ method init (line 26) | @Override method doFilter (line 31) | @Override method destroy (line 71) | @Override method initialize (line 76) | private void initialize(){ FILE: src/main/java/com/feihong/ldap/template/JBossMemshellTemplate.java class JBossMemshellTemplate (line 23) | public class JBossMemshellTemplate extends AbstractTranslet { method JBossMemshellTemplate (line 25) | public JBossMemshellTemplate(){ method transform (line 82) | @Override method transform (line 87) | @Override FILE: src/main/java/com/feihong/ldap/template/JettyMemshellTemplate.java class JettyMemshellTemplate (line 22) | public class JettyMemshellTemplate extends AbstractTranslet { method JettyMemshellTemplate (line 23) | public JettyMemshellTemplate(){ method transform (line 133) | @Override method transform (line 138) | @Override FILE: src/main/java/com/feihong/ldap/template/MyClassLoader.java class MyClassLoader (line 3) | public class MyClassLoader extends ClassLoader { method MyClassLoader (line 4) | MyClassLoader(ClassLoader c){super(c);} method defineClass (line 7) | public static Class defineClass(byte[] bytes, ClassLoader classLoader){ FILE: src/main/java/com/feihong/ldap/template/ReverseShellTemplate.java class ReverseShellTemplate (line 9) | public class ReverseShellTemplate implements Template { method ReverseShellTemplate (line 15) | public ReverseShellTemplate(String ip, String port){ method ReverseShellTemplate (line 20) | public ReverseShellTemplate(String ip, int port){ method ReverseShellTemplate (line 28) | public ReverseShellTemplate(String ip, String port, String className){ method getClassName (line 35) | @Override method getBytes (line 40) | @Override method cache (line 45) | @Override method generate (line 50) | @Override FILE: src/main/java/com/feihong/ldap/template/SpringMemshellTemplate.java class SpringMemshellTemplate (line 15) | public class SpringMemshellTemplate extends AbstractTranslet { method SpringMemshellTemplate (line 16) | public SpringMemshellTemplate(){ method transform (line 97) | @Override method transform (line 102) | @Override FILE: src/main/java/com/feihong/ldap/template/Template.java type Template (line 3) | public interface Template { method generate (line 4) | void generate(); method getBytes (line 5) | byte[] getBytes(); method cache (line 6) | void cache(); method getClassName (line 7) | String getClassName(); FILE: src/main/java/com/feihong/ldap/template/TomcatMemshellTemplate.java class TomcatMemshellTemplate (line 26) | public class TomcatMemshellTemplate extends AbstractTranslet { method TomcatMemshellTemplate (line 28) | public TomcatMemshellTemplate(){ method transform (line 131) | @Override method transform (line 136) | @Override FILE: src/main/java/com/feihong/ldap/template/WeblogicMemshellTemplate.java class WeblogicMemshellTemplate (line 25) | public class WeblogicMemshellTemplate extends AbstractTranslet { method WeblogicMemshellTemplate (line 26) | public WeblogicMemshellTemplate(){ method transform (line 137) | @Override method transform (line 142) | @Override FILE: src/main/java/com/feihong/ldap/template/WebsphereMemshellTemplate.java class WebsphereMemshellTemplate (line 15) | public class WebsphereMemshellTemplate extends AbstractTranslet { method WebsphereMemshellTemplate (line 17) | public WebsphereMemshellTemplate(){ method transform (line 137) | @Override method transform (line 142) | @Override FILE: src/main/java/com/feihong/ldap/utils/Cache.java class Cache (line 7) | public class Cache { method get (line 29) | public static byte[] get(String key){ method set (line 33) | public static void set(String key, byte[] bytes){ method contains (line 37) | public static boolean contains(String key){ method remove (line 41) | public static void remove(String key){ FILE: src/main/java/com/feihong/ldap/utils/Config.java class Config (line 8) | public class Config { method applyCmdArgs (line 26) | public static void applyCmdArgs(String[] args) { FILE: src/main/java/com/feihong/ldap/utils/Util.java class Util (line 10) | public class Util { method getRandomString (line 11) | public static String getRandomString() { method getClassCode (line 21) | public static String getClassCode(String className) throws Exception { method getClassBytes (line 28) | public static byte[] getClassBytes(String className) throws Exception { method base64Encode (line 44) | public static String base64Encode(byte[] bytes) throws Exception{ method base64Decode (line 65) | public static byte[] base64Decode(String str) throws Exception{ method serialize (line 85) | public static byte[] serialize(Object ref) throws IOException { method getCmdFromBase (line 92) | public static String getCmdFromBase(String base) throws Exception { method getIPAndPortFromBase (line 109) | public static String[] getIPAndPortFromBase(String base) throws Number... FILE: src/test/java/TestBase64.java class TestBase64 (line 8) | public class TestBase64 { method testEncoder (line 9) | @Test method testDecoder (line 16) | @Test method test (line 24) | @Test method test2 (line 33) | @Test method test3 (line 43) | @Test FILE: src/test/java/TestProgram.java class TestProgram (line 4) | public class TestProgram { method test (line 6) | @org.junit.Test method test2 (line 14) | @org.junit.Test