File tree Expand file tree Collapse file tree 6 files changed +26
-13
lines changed
java/org/joychou/security Expand file tree Collapse file tree 6 files changed +26
-13
lines changed Original file line number Diff line number Diff line change @@ -18,13 +18,13 @@ Sort by letter.
1818- [ Actuators to RCE] ( https://github.com/JoyChou93/java-sec-code/blob/master/src/main/resources/logback-online.xml )
1919- [ CORS] ( https://github.com/JoyChou93/java-sec-code/blob/master/src/main/java/org/joychou/controller/CORS.java )
2020- [ CRLF Injection] ( https://github.com/JoyChou93/java-sec-code/blob/master/src/main/java/org/joychou/controller/CRLFInjection.java )
21- - [ CSRF] ( https://github.com/JoyChou93/java-sec-code/blob/master/src/main/java/org/joychou/WebSecurityConfig.java )
21+ - [ CSRF] ( https://github.com/JoyChou93/java-sec-code/blob/master/src/main/java/org/joychou/security/ WebSecurityConfig.java )
2222- [ Deserialize] ( https://github.com/JoyChou93/java-sec-code/blob/master/src/main/java/org/joychou/controller/Deserialize.java )
2323- [ Fastjson] ( https://github.com/JoyChou93/java-sec-code/blob/master/src/main/java/org/joychou/controller/Fastjson.java )
2424- [ File Upload] ( https://github.com/JoyChou93/java-sec-code/blob/master/src/main/java/org/joychou/controller/FileUpload.java )
2525- [ IP Forge] ( https://github.com/JoyChou93/java-sec-code/blob/master/src/main/java/org/joychou/controller/IPForge.java )
2626- [ Java RMI] ( https://github.com/JoyChou93/java-sec-code/blob/master/src/main/java/org/joychou/RMI/Server.java )
27- - [ JSONP] ( https://github.com/JoyChou93/java-sec-code/blob/master/src/main/java/org/joychou/controller/JSONP.java )
27+ - [ JSONP] ( https://github.com/JoyChou93/java-sec-code/blob/master/src/main/java/org/joychou/controller/jsonp/ JSONP.java )
2828- [ RCE] ( https://github.com/JoyChou93/java-sec-code/blob/master/src/main/java/org/joychou/controller/Rce.java )
2929- [ SPEL] ( https://github.com/JoyChou93/java-sec-code/blob/master/src/main/java/org/joychou/controller/SPEL.java )
3030- [ SQL Injection] ( https://github.com/JoyChou93/java-sec-code/blob/master/src/main/java/org/joychou/controller/SQLI.java )
Original file line number Diff line number Diff line change 1515- [ Actuators to RCE] ( https://github.com/JoyChou93/java-sec-code/blob/master/src/main/resources/logback-online.xml )
1616- [ CORS] ( https://github.com/JoyChou93/java-sec-code/blob/master/src/main/java/org/joychou/controller/CORS.java )
1717- [ CRLF Injection] ( https://github.com/JoyChou93/java-sec-code/blob/master/src/main/java/org/joychou/controller/CRLFInjection.java )
18- - [ CSRF] ( https://github.com/JoyChou93/java-sec-code/blob/master/src/main/java/org/joychou/WebSecurityConfig.java )
18+ - [ CSRF] ( https://github.com/JoyChou93/java-sec-code/blob/master/src/main/java/org/joychou/security/ WebSecurityConfig.java )
1919- [ Deserialize] ( https://github.com/JoyChou93/java-sec-code/blob/master/src/main/java/org/joychou/controller/Deserialize.java )
2020- [ Fastjson] ( https://github.com/JoyChou93/java-sec-code/blob/master/src/main/java/org/joychou/controller/Fastjson.java )
2121- [ File Upload] ( https://github.com/JoyChou93/java-sec-code/blob/master/src/main/java/org/joychou/controller/FileUpload.java )
2222- [ IP Forge] ( https://github.com/JoyChou93/java-sec-code/blob/master/src/main/java/org/joychou/controller/IPForge.java )
2323- [ Java RMI] ( https://github.com/JoyChou93/java-sec-code/blob/master/src/main/java/org/joychou/RMI/Server.java )
24- - [ JSONP] ( https://github.com/JoyChou93/java-sec-code/blob/master/src/main/java/org/joychou/controller/JSONP.java )
24+ - [ JSONP] ( https://github.com/JoyChou93/java-sec-code/blob/master/src/main/java/org/joychou/controller/jsonp/ JSONP.java )
2525- [ RCE] ( https://github.com/JoyChou93/java-sec-code/blob/master/src/main/java/org/joychou/controller/Rce.java )
2626- [ SPEL] ( https://github.com/JoyChou93/java-sec-code/blob/master/src/main/java/org/joychou/controller/SPEL.java )
2727- [ SQL Injection] ( https://github.com/JoyChou93/java-sec-code/blob/master/src/main/java/org/joychou/controller/SQLI.java )
Original file line number Diff line number Diff line change 1- package org .joychou ;
1+ package org .joychou . security ;
22
33
44import org .springframework .http .MediaType ;
1111import javax .servlet .http .HttpServletResponse ;
1212import java .io .IOException ;
1313
14+ /**
15+ * Design csrf access denied page.
16+ *
17+ */
1418public class CsrfAccessDeniedHandler implements AccessDeniedHandler {
1519
16- /**
17- * Design csrf access denied page.
18- *
19- */
2020 @ Override
2121 public void handle (HttpServletRequest request , HttpServletResponse response ,
2222 AccessDeniedException accessDeniedException ) throws IOException , ServletException {
Original file line number Diff line number Diff line change 1- package org .joychou ;
1+ package org .joychou . security ;
22
3+ import org .springframework .beans .factory .annotation .Value ;
34import org .springframework .context .annotation .Configuration ;
45import org .springframework .security .config .annotation .web .builders .HttpSecurity ;
56import org .springframework .security .config .annotation .web .configuration .EnableWebSecurity ;
1011import java .util .Arrays ;
1112import java .util .HashSet ;
1213
14+
15+ /**
16+ * Congifure csrf
17+ *
18+ */
1319@ EnableWebSecurity
1420@ Configuration
1521public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
1622
23+ @ Value ("${org.joychou.security.csrf}" )
24+ private Boolean csrfSwitch ; // get csrf switch in application.properties
25+
1726 RequestMatcher csrfRequestMatcher = new RequestMatcher () {
1827
1928 // 配置不需要CSRF校验的请求方式
@@ -23,6 +32,9 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
2332 @ Override
2433 public boolean matches (HttpServletRequest request ) {
2534 // return false表示不校验csrf
35+ if (!csrfSwitch ) {
36+ return false ;
37+ }
2638 return !this .allowedMethods .contains (request .getMethod ());
2739 }
2840
Original file line number Diff line number Diff line change 1818 *
1919 */
2020@ WebFilter (filterName = "referSecCheck" , urlPatterns = "/*" )
21- public class secFilter implements Filter {
21+ public class jsonpFilter implements Filter {
2222
2323 @ Value ("${org.joychou.security.jsonp}" )
2424 private Boolean jsonpSwitch ; // get application.properties configure
Original file line number Diff line number Diff line change 11
22# Spring Boot Actuator Vulnerable Config
33management.security.enabled =false
4- logging.config =classpath:logback-online.xml
4+ # logging.config=classpath:logback-online.xml
55
66# jsonp check referer switch
7- org.joychou.security.jsonp = true
7+ org.joychou.security.jsonp = true
8+ org.joychou.security.csrf = false
You can’t perform that action at this time.
0 commit comments