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

Class MemShellCheck

ResinMemShell/src/main/java/com/axisx/MemShellCheck.java:15–297  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

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

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected