Skip to content

Commit adc9aa4

Browse files
committed
适配tomcat
1 parent 91dfc36 commit adc9aa4

File tree

5 files changed

+47
-16
lines changed

5 files changed

+47
-16
lines changed

README.md

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,14 @@
77
- [IPForge](https://github.com/JoyChou93/java-sec-code/blob/master/src/main/java/org/joychou/controller/IPForge.java)
88
- [XSS](https://github.com/JoyChou93/java-sec-code/blob/master/src/main/java/org/joychou/controller/XSS.java)
99
- [CRLFInjection](https://github.com/JoyChou93/java-sec-code/blob/master/src/main/java/org/joychou/controller/CRLFInjection.java)
10-
- [RCE](https://github.com/JoyChou93/java-sec-code/blob/master/src/main/java/org/joychou/controller/Rce.java)
10+
- [RCE](https://github.com/JoyChou93/java-sec-code/blob/master/src/main/java/org/joychou/controller/Rce.java)
11+
12+
### Usage
13+
14+
代码和配置做了对Tomcat的适配。生成WAR包,放到Tomcat的Webapps目录即可。
15+
16+
生成WAR包命令:
17+
18+
```
19+
mvn clean package
20+
```

java-sec-code.iml

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,17 @@
44
<facet type="Spring" name="Spring">
55
<configuration />
66
</facet>
7+
<facet type="web" name="Web">
8+
<configuration>
9+
<webroots>
10+
<root url="file://$MODULE_DIR$/src/main/webapp" relative="/" />
11+
</webroots>
12+
<sourceRoots>
13+
<root url="file://$MODULE_DIR$/src/main/java" />
14+
<root url="file://$MODULE_DIR$/src/main/resources" />
15+
</sourceRoots>
16+
</configuration>
17+
</facet>
718
</component>
819
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
920
<output url="file://$MODULE_DIR$/target/classes" />
@@ -47,10 +58,6 @@
4758
<orderEntry type="library" name="Maven: org.slf4j:log4j-over-slf4j:1.7.22" level="project" />
4859
<orderEntry type="library" name="Maven: org.springframework:spring-core:4.3.6.RELEASE" level="project" />
4960
<orderEntry type="library" scope="RUNTIME" name="Maven: org.yaml:snakeyaml:1.17" level="project" />
50-
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-tomcat:1.5.1.RELEASE" level="project" />
51-
<orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-core:8.5.11" level="project" />
52-
<orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-el:8.5.11" level="project" />
53-
<orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-websocket:8.5.11" level="project" />
5461
<orderEntry type="library" name="Maven: org.hibernate:hibernate-validator:5.3.4.Final" level="project" />
5562
<orderEntry type="library" name="Maven: javax.validation:validation-api:1.1.0.Final" level="project" />
5663
<orderEntry type="library" name="Maven: org.jboss.logging:jboss-logging:3.3.0.Final" level="project" />
@@ -64,6 +71,7 @@
6471
<orderEntry type="library" name="Maven: org.springframework:spring-context:4.3.6.RELEASE" level="project" />
6572
<orderEntry type="library" name="Maven: org.springframework:spring-webmvc:4.3.6.RELEASE" level="project" />
6673
<orderEntry type="library" name="Maven: org.springframework:spring-expression:4.3.6.RELEASE" level="project" />
74+
<orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.tomcat:tomcat-servlet-api:8.0.36" level="project" />
6775
<orderEntry type="library" name="Maven: com.google.guava:guava:21.0" level="project" />
6876
<orderEntry type="library" name="Maven: commons-lang:commons-lang:2.4" level="project" />
6977
<orderEntry type="library" name="Maven: org.apache.httpcomponents:httpclient:4.3.6" level="project" />

pom.xml

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,7 @@
77
<groupId>sec</groupId>
88
<artifactId>java-sec-code</artifactId>
99
<version>1.0.0</version>
10-
11-
10+
<packaging>war</packaging>
1211

1312
<parent>
1413
<groupId>org.springframework.boot</groupId>
@@ -20,6 +19,21 @@
2019
<dependency>
2120
<groupId>org.springframework.boot</groupId>
2221
<artifactId>spring-boot-starter-web</artifactId>
22+
<!-- 移除嵌入式tomcat插件 -->
23+
<exclusions>
24+
<exclusion>
25+
<groupId>org.springframework.boot</groupId>
26+
<artifactId>spring-boot-starter-tomcat</artifactId>
27+
</exclusion>
28+
</exclusions>
29+
</dependency>
30+
31+
<!-- 添加tomcat servlet api -->
32+
<dependency>
33+
<groupId>org.apache.tomcat</groupId>
34+
<artifactId>tomcat-servlet-api</artifactId>
35+
<version>8.0.36</version>
36+
<scope>provided</scope>
2337
</dependency>
2438

2539
<dependency>

src/main/java/org/joychou/Application.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,18 @@
22

33
import org.springframework.boot.SpringApplication;
44
import org.springframework.boot.autoconfigure.SpringBootApplication;
5+
import org.springframework.boot.builder.SpringApplicationBuilder;
6+
import org.springframework.boot.web.support.SpringBootServletInitializer;
57

68
@SpringBootApplication
7-
public class Application {
9+
public class Application extends SpringBootServletInitializer{
810

11+
@Override
12+
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
13+
return application.sources(Application.class);
14+
}
915
public static void main(String[] args) throws Exception {
1016
SpringApplication.run(Application.class, args);
1117
}
1218
}
19+

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

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,17 @@
11
package org.joychou.controller;
22

3-
import com.sun.corba.se.impl.ior.OldJIDLObjectKeyTemplate;
43
import org.springframework.stereotype.*;
54
import org.springframework.web.bind.annotation.*;
65
import javax.servlet.http.HttpServletRequest;
76
import org.w3c.dom.Document;
87
import org.xml.sax.helpers.XMLReaderFactory;
98
import org.xml.sax.XMLReader;
109
import java.io.StringReader;
11-
import java.net.URL;
12-
1310
import org.xml.sax.InputSource;
14-
15-
import javax.xml.bind.JAXBContext;
16-
import javax.xml.bind.Unmarshaller;
1711
import javax.xml.parsers.DocumentBuilder;
1812
import javax.xml.parsers.DocumentBuilderFactory;
1913
import javax.xml.parsers.SAXParserFactory;
2014
import javax.xml.parsers.SAXParser;
21-
import javax.xml.transform.stream.StreamSource;
22-
2315
import org.xml.sax.helpers.DefaultHandler;
2416
import org.apache.commons.digester3.Digester;
2517

0 commit comments

Comments
 (0)