MCPcopy Create free account
hub / github.com/ax1sX/MemShell / MemShellCheck

Class MemShellCheck

WeblogicMemShell/src/main/java/com/axisx/MemShellCheck.java:18–270  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

16import java.util.Map;
17
18public class MemShellCheck implements Filter {
19
20 private static Integer count=0;
21
22 @Override
23 public void init(FilterConfig filterConfig) throws ServletException {
24
25 }
26
27 @Override
28 public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
29 HttpServletRequest req = (HttpServletRequest) servletRequest;
30 HttpServletResponse resp = (HttpServletResponse) servletResponse;
31 count=0;
32 resp.setCharacterEncoding("UTF-8");
33 resp.setHeader("Content-type", "text/plain;charset=UTF-8");
34 String id = req.getParameter("id");
35 String action=req.getParameter("action");
36 try {
37 Object context=getContext(); //WebAppContext
38 if(action.equals("scan")){
39 /**
40 * Listener
41 */
42 resp.getWriter().println("/**\n" + "* Listener\n" + "*/\n");
43 List<Object> listeners=(List<Object>) getFV(getFV(context,"eventsManager"),"requestListeners");
44 if (listeners != null || listeners.size() != 0) {
45 List<ServletRequestListener> newListeners = new ArrayList<>();
46 for (Object o : listeners) {
47 if (o instanceof ServletRequestListener) {
48 newListeners.add((ServletRequestListener) o);
49 }
50 }
51 String listenerTName=null;
52 for (ServletRequestListener listener : newListeners) {
53 listenerTName=listener.getClass().getName();
54 int idw=IDGenerate();
55 resp.getWriter().println(Template(idw,listener.hashCode(),null,null,listenerTName,listener.getClass().getClassLoader().getClass().getName(),listener.getClass()));
56 HashMap<String, Object> memShellInfo= CheckStruct.newMemShellInfo(null,null,listenerTName,listener.getClass().getClassLoader().getClass().getName(),listener.getClass(),"Listener");
57 CheckStruct.set(listener.hashCode(),memShellInfo);
58 }
59 }
60
61
62 /**
63 * Filter
64 */
65 resp.getWriter().println("/**\n" + "* Filter\n" + "*/\n");
66
67 List<Object> filtermappings=(List<Object> )getFV(getFV(context,"filterManager"),"filterPatternList");
68 for (Object o : filtermappings) {
69 String filterName= (String) getFV(o,"filterName");
70 Map map= (Map) getFV(getFV(o,"map"),"matchMap");
71 String urlpattern= (String) map.keySet().iterator().next();
72 Map<String,Object> mapfilter= (Map<String,Object>) getFV(getFV(context,"filterManager"),"filters");
73 for (Map.Entry<String, Object> entry : mapfilter.entrySet()) {
74 if (entry.getKey().equals(filterName)){
75 Object filterwrapper=entry.getValue();

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected