@@ -4,6 +4,12 @@ Spring Boot 相关漏洞学习资料,利用方法和技巧合集,黑盒安
4
4
5
5
6
6
7
+ ## 声明
8
+
9
+ > ** ⚠️ 本项目所有内容仅作为安全研究和授权测试使用, 相关人员对因误用和滥用该项目造成的一切损害概不负责**
10
+
11
+
12
+
7
13
目录
8
14
-----------------
9
15
@@ -43,63 +49,64 @@ Spring Boot 相关漏洞学习资料,利用方法和技巧合集,黑盒安
43
49
* [ 漏洞分析:] ( #%E6%BC%8F%E6%B4%9E%E5%88%86%E6%9E%90-1 )
44
50
* [ 漏洞环境:] ( #%E6%BC%8F%E6%B4%9E%E7%8E%AF%E5%A2%83 )
45
51
* [ 0x02:spring cloud SnakeYAML RCE] ( #0x02spring-cloud-snakeyaml-rce )
46
- * [ < strong > 利用条件:</ strong > ] ( #%E5%88%A9%E7%94%A8%E6%9D%A1%E4%BB%B6-3 )
47
- * [ < strong > 利用方法:</ strong > ] ( #%E5%88%A9%E7%94%A8%E6%96%B9%E6%B3%95-3 )
52
+ * [ 利用条件:] ( #%E5%88%A9%E7%94%A8%E6%9D%A1%E4%BB%B6-3 )
53
+ * [ 利用方法:] ( #%E5%88%A9%E7%94%A8%E6%96%B9%E6%B3%95-3 )
48
54
* [ 步骤一: 托管 yml 和 jar 文件] ( #%E6%AD%A5%E9%AA%A4%E4%B8%80-%E6%89%98%E7%AE%A1-yml-%E5%92%8C-jar-%E6%96%87%E4%BB%B6 )
49
55
* [ 步骤二: 设置 spring\. cloud\. bootstrap\. location 属性] ( #%E6%AD%A5%E9%AA%A4%E4%BA%8C-%E8%AE%BE%E7%BD%AE-springcloudbootstraplocation-%E5%B1%9E%E6%80%A7 )
50
56
* [ 步骤三: 刷新配置] ( #%E6%AD%A5%E9%AA%A4%E4%B8%89-%E5%88%B7%E6%96%B0%E9%85%8D%E7%BD%AE )
51
- * [ < strong > 漏洞原理:</ strong > ] ( #%E6%BC%8F%E6%B4%9E%E5%8E%9F%E7%90%86-3 )
57
+ * [ 漏洞原理:] ( #%E6%BC%8F%E6%B4%9E%E5%8E%9F%E7%90%86-3 )
52
58
* [ 漏洞分析:] ( #%E6%BC%8F%E6%B4%9E%E5%88%86%E6%9E%90-2 )
53
59
* [ 漏洞环境:] ( #%E6%BC%8F%E6%B4%9E%E7%8E%AF%E5%A2%83-1 )
54
60
* [ 0x03:eureka xstream deserialization RCE] ( #0x03eureka-xstream-deserialization-rce )
55
- * [ < strong > 利用条件:</ strong > ] ( #%E5%88%A9%E7%94%A8%E6%9D%A1%E4%BB%B6-4 )
56
- * [ < strong > 利用方法:</ strong > ] ( #%E5%88%A9%E7%94%A8%E6%96%B9%E6%B3%95-4 )
61
+ * [ 利用条件:] ( #%E5%88%A9%E7%94%A8%E6%9D%A1%E4%BB%B6-4 )
62
+ * [ 利用方法:] ( #%E5%88%A9%E7%94%A8%E6%96%B9%E6%B3%95-4 )
57
63
* [ 步骤一:架设响应恶意 XStream payload 的网站] ( #%E6%AD%A5%E9%AA%A4%E4%B8%80%E6%9E%B6%E8%AE%BE%E5%93%8D%E5%BA%94%E6%81%B6%E6%84%8F-xstream-payload-%E7%9A%84%E7%BD%91%E7%AB%99 )
58
64
* [ 步骤二:监听反弹 shell 的端口] ( #%E6%AD%A5%E9%AA%A4%E4%BA%8C%E7%9B%91%E5%90%AC%E5%8F%8D%E5%BC%B9-shell-%E7%9A%84%E7%AB%AF%E5%8F%A3 )
59
65
* [ 步骤三:设置 eureka\. client\. serviceUrl\. defaultZone 属性] ( #%E6%AD%A5%E9%AA%A4%E4%B8%89%E8%AE%BE%E7%BD%AE-eurekaclientserviceurldefaultzone-%E5%B1%9E%E6%80%A7 )
60
66
* [ 步骤四:刷新配置] ( #%E6%AD%A5%E9%AA%A4%E5%9B%9B%E5%88%B7%E6%96%B0%E9%85%8D%E7%BD%AE )
61
- * [ < strong > 漏洞原理:</ strong > ] ( #%E6%BC%8F%E6%B4%9E%E5%8E%9F%E7%90%86-4 )
62
- * [ < strong > 漏洞分析:</ strong > ] ( #%E6%BC%8F%E6%B4%9E%E5%88%86%E6%9E%90-3 )
67
+ * [ 漏洞原理:] ( #%E6%BC%8F%E6%B4%9E%E5%8E%9F%E7%90%86-4 )
68
+ * [ 漏洞分析:] ( #%E6%BC%8F%E6%B4%9E%E5%88%86%E6%9E%90-3 )
63
69
* [ 漏洞环境:] ( #%E6%BC%8F%E6%B4%9E%E7%8E%AF%E5%A2%83-2 )
64
- * [ 0x04:Jolokia logback JNDI RCE] ( #0x04jolokia-logback-jndi-rce )
65
- * [ < strong > 利用条件:</ strong > ] ( #%E5%88%A9%E7%94%A8%E6%9D%A1%E4%BB%B6-5 )
66
- * [ < strong > 利用方法:</ strong > ] ( #%E5%88%A9%E7%94%A8%E6%96%B9%E6%B3%95-5 )
70
+ * [ 0x04:jolokia logback JNDI RCE] ( #0x04jolokia-logback-jndi-rce )
71
+ * [ 利用条件:] ( #%E5%88%A9%E7%94%A8%E6%9D%A1%E4%BB%B6-5 )
72
+ * [ 利用方法:] ( #%E5%88%A9%E7%94%A8%E6%96%B9%E6%B3%95-5 )
67
73
* [ 步骤一:查看已存在的 MBeans] ( #%E6%AD%A5%E9%AA%A4%E4%B8%80%E6%9F%A5%E7%9C%8B%E5%B7%B2%E5%AD%98%E5%9C%A8%E7%9A%84-mbeans )
68
74
* [ 步骤二:托管 xml 文件] ( #%E6%AD%A5%E9%AA%A4%E4%BA%8C%E6%89%98%E7%AE%A1-xml-%E6%96%87%E4%BB%B6 )
69
75
* [ 步骤三:准备要执行的 Java 代码] ( #%E6%AD%A5%E9%AA%A4%E4%B8%89%E5%87%86%E5%A4%87%E8%A6%81%E6%89%A7%E8%A1%8C%E7%9A%84-java-%E4%BB%A3%E7%A0%81 )
70
76
* [ 步骤四:架设恶意 ldap 服务] ( #%E6%AD%A5%E9%AA%A4%E5%9B%9B%E6%9E%B6%E8%AE%BE%E6%81%B6%E6%84%8F-ldap-%E6%9C%8D%E5%8A%A1 )
71
77
* [ 步骤五:监听反弹 shell 的端口] ( #%E6%AD%A5%E9%AA%A4%E4%BA%94%E7%9B%91%E5%90%AC%E5%8F%8D%E5%BC%B9-shell-%E7%9A%84%E7%AB%AF%E5%8F%A3 )
72
78
* [ 步骤六:从外部 URL 地址加载日志配置文件] ( #%E6%AD%A5%E9%AA%A4%E5%85%AD%E4%BB%8E%E5%A4%96%E9%83%A8-url-%E5%9C%B0%E5%9D%80%E5%8A%A0%E8%BD%BD%E6%97%A5%E5%BF%97%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6 )
73
- * [ <strong >漏洞原理:</strong >] ( #%E6%BC%8F%E6%B4%9E%E5%8E%9F%E7%90%86-5 )
74
- * [ <strong >漏洞分析:</strong >] ( #%E6%BC%8F%E6%B4%9E%E5%88%86%E6%9E%90-4 )
75
- * [ 0x05:Jolokia Realm JNDI RCE] ( #0x05jolokia-realm-jndi-rce )
76
- * [ <strong >利用条件:</strong >] ( #%E5%88%A9%E7%94%A8%E6%9D%A1%E4%BB%B6-6 )
77
- * [ <strong >利用方法:</strong >] ( #%E5%88%A9%E7%94%A8%E6%96%B9%E6%B3%95-6 )
79
+ * [ 漏洞原理:] ( #%E6%BC%8F%E6%B4%9E%E5%8E%9F%E7%90%86-5 )
80
+ * [ 漏洞分析:] ( #%E6%BC%8F%E6%B4%9E%E5%88%86%E6%9E%90-4 )
81
+ * [ 漏洞环境:] ( #%E6%BC%8F%E6%B4%9E%E7%8E%AF%E5%A2%83-3 )
82
+ * [ 0x05:jolokia Realm JNDI RCE] ( #0x05jolokia-realm-jndi-rce )
83
+ * [ 利用条件:] ( #%E5%88%A9%E7%94%A8%E6%9D%A1%E4%BB%B6-6 )
84
+ * [ 利用方法:] ( #%E5%88%A9%E7%94%A8%E6%96%B9%E6%B3%95-6 )
78
85
* [ 步骤一:查看已存在的 MBeans] ( #%E6%AD%A5%E9%AA%A4%E4%B8%80%E6%9F%A5%E7%9C%8B%E5%B7%B2%E5%AD%98%E5%9C%A8%E7%9A%84-mbeans-1 )
79
86
* [ 步骤二:准备要执行的 Java 代码] ( #%E6%AD%A5%E9%AA%A4%E4%BA%8C%E5%87%86%E5%A4%87%E8%A6%81%E6%89%A7%E8%A1%8C%E7%9A%84-java-%E4%BB%A3%E7%A0%81 )
80
87
* [ 步骤三:架设恶意 rmi 服务] ( #%E6%AD%A5%E9%AA%A4%E4%B8%89%E6%9E%B6%E8%AE%BE%E6%81%B6%E6%84%8F-rmi-%E6%9C%8D%E5%8A%A1 )
81
88
* [ 步骤四:监听反弹 shell 的端口] ( #%E6%AD%A5%E9%AA%A4%E5%9B%9B%E7%9B%91%E5%90%AC%E5%8F%8D%E5%BC%B9-shell-%E7%9A%84%E7%AB%AF%E5%8F%A3 )
82
89
* [ 步骤五:发送恶意 payload] ( #%E6%AD%A5%E9%AA%A4%E4%BA%94%E5%8F%91%E9%80%81%E6%81%B6%E6%84%8F-payload )
83
- * [ < strong > 漏洞原理:</ strong > ] ( #%E6%BC%8F%E6%B4%9E%E5%8E%9F%E7%90%86-6 )
84
- * [ < strong > 漏洞分析:</ strong > ] ( #%E6%BC%8F%E6%B4%9E%E5%88%86%E6%9E%90-5 )
90
+ * [ 漏洞原理:] ( #%E6%BC%8F%E6%B4%9E%E5%8E%9F%E7%90%86-6 )
91
+ * [ 漏洞分析:] ( #%E6%BC%8F%E6%B4%9E%E5%88%86%E6%9E%90-5 )
85
92
* [ 0x06:h2 database query RCE] ( #0x06h2-database-query-rce )
86
- * [ < strong > 利用条件:</ strong > ] ( #%E5%88%A9%E7%94%A8%E6%9D%A1%E4%BB%B6-7 )
93
+ * [ 利用条件:] ( #%E5%88%A9%E7%94%A8%E6%9D%A1%E4%BB%B6-7 )
87
94
* [ 利用方法:] ( #%E5%88%A9%E7%94%A8%E6%96%B9%E6%B3%95-7 )
88
95
* [ 步骤一:设置 spring\. datasource\. hikari\. connection\- test\- query 属性] ( #%E6%AD%A5%E9%AA%A4%E4%B8%80%E8%AE%BE%E7%BD%AE-springdatasourcehikariconnection-test-query-%E5%B1%9E%E6%80%A7 )
89
96
* [ 步骤二:重启应用] ( #%E6%AD%A5%E9%AA%A4%E4%BA%8C%E9%87%8D%E5%90%AF%E5%BA%94%E7%94%A8 )
90
- * [ < strong > 漏洞原理:</ strong > ] ( #%E6%BC%8F%E6%B4%9E%E5%8E%9F%E7%90%86-7 )
91
- * [ < strong > 漏洞分析:</ strong > ] ( #%E6%BC%8F%E6%B4%9E%E5%88%86%E6%9E%90-6 )
97
+ * [ 漏洞原理:] ( #%E6%BC%8F%E6%B4%9E%E5%8E%9F%E7%90%86-7 )
98
+ * [ 漏洞分析:] ( #%E6%BC%8F%E6%B4%9E%E5%88%86%E6%9E%90-6 )
92
99
* [ 0x07:mysql jdbc deserialization RCE] ( #0x07mysql-jdbc-deserialization-rce )
93
- * [ < strong > 利用条件:</ strong > ] ( #%E5%88%A9%E7%94%A8%E6%9D%A1%E4%BB%B6-8 )
94
- * [ < strong > 利用方法:</ strong > ] ( #%E5%88%A9%E7%94%A8%E6%96%B9%E6%B3%95-8 )
100
+ * [ 利用条件:] ( #%E5%88%A9%E7%94%A8%E6%9D%A1%E4%BB%B6-8 )
101
+ * [ 利用方法:] ( #%E5%88%A9%E7%94%A8%E6%96%B9%E6%B3%95-8 )
95
102
* [ 步骤一:查看环境依赖] ( #%E6%AD%A5%E9%AA%A4%E4%B8%80%E6%9F%A5%E7%9C%8B%E7%8E%AF%E5%A2%83%E4%BE%9D%E8%B5%96 )
96
103
* [ 步骤二:架设恶意 rogue mysql server] ( #%E6%AD%A5%E9%AA%A4%E4%BA%8C%E6%9E%B6%E8%AE%BE%E6%81%B6%E6%84%8F-rogue-mysql-server )
97
104
* [ 步骤三:设置 spring\. datasource\. url 属性] ( #%E6%AD%A5%E9%AA%A4%E4%B8%89%E8%AE%BE%E7%BD%AE-springdatasourceurl-%E5%B1%9E%E6%80%A7 )
98
105
* [ 步骤四:刷新配置] ( #%E6%AD%A5%E9%AA%A4%E5%9B%9B%E5%88%B7%E6%96%B0%E9%85%8D%E7%BD%AE-1 )
99
106
* [ 步骤五:触发数据库查询] ( #%E6%AD%A5%E9%AA%A4%E4%BA%94%E8%A7%A6%E5%8F%91%E6%95%B0%E6%8D%AE%E5%BA%93%E6%9F%A5%E8%AF%A2 )
100
107
* [ 步骤六:恢复正常 jdbc url] ( #%E6%AD%A5%E9%AA%A4%E5%85%AD%E6%81%A2%E5%A4%8D%E6%AD%A3%E5%B8%B8-jdbc-url )
101
- * [ < strong > 漏洞原理:</ strong > ] ( #%E6%BC%8F%E6%B4%9E%E5%8E%9F%E7%90%86-8 )
102
- * [ < strong > 漏洞分析:</ strong > ] ( #%E6%BC%8F%E6%B4%9E%E5%88%86%E6%9E%90-7 )
108
+ * [ 漏洞原理:] ( #%E6%BC%8F%E6%B4%9E%E5%8E%9F%E7%90%86-8 )
109
+ * [ 漏洞分析:] ( #%E6%BC%8F%E6%B4%9E%E5%88%86%E6%9E%90-7 )
103
110
104
111
105
112
@@ -129,7 +136,7 @@ Spring Boot 相关漏洞学习资料,利用方法和技巧合集,黑盒安
129
136
130
137
131
138
132
- #### ` Spring Cloud ` 与 ` Spring Boot ` 大版本之间的依赖关系:
139
+ #### Spring Cloud 与 Spring Boot 大版本之间的依赖关系:
133
140
134
141
| Spring Cloud | Spring Boot |
135
142
| ------------ | ------------------------------------ |
@@ -201,7 +208,7 @@ Spring Boot 相关漏洞学习资料,利用方法和技巧合集,黑盒安
201
208
202
209
203
210
204
- ** 一般来讲,知道 springboot 应用的相关接口和传参信息并不能算是漏洞** ;
211
+ ** 一般来讲,知道 spring boot 应用的相关接口和传参信息并不能算是漏洞** ;
205
212
206
213
但是可以检查暴露的接口是否存在未授权访问、越权或者其他业务型漏洞。
207
214
@@ -516,11 +523,11 @@ http://127.0.0.1:9091/article?id=66
516
523
http: // 127.0.0.1:9091/article?id=${T(java.lang.Runtime).getRuntime().exec(new%20String(new%20byte[]{0x6f,0x70,0x65,0x6e,0x20,0x2d,0x61,0x20,0x43,0x61,0x6c,0x63,0x75,0x6c,0x61,0x74,0x6f,0x72}))}
517
524
```
518
525
519
-
526
+
520
527
521
528
### 0x02:spring cloud SnakeYAML RCE
522
529
523
- #### ** 利用条件:**
530
+ #### 利用条件:
524
531
525
532
- 可以 POST 请求目标网站的 ` /env ` 接口设置属性
526
533
- 可以 POST 请求目标网站的 ` /refresh ` 接口刷新配置(存在 ` spring-boot-starter-actuator ` 依赖)
@@ -529,7 +536,7 @@ http://127.0.0.1:9091/article?id=${T(java.lang.Runtime).getRuntime().exec(new%20
529
536
530
537
531
538
532
- #### ** 利用方法:**
539
+ #### 利用方法:
533
540
534
541
##### 步骤一: 托管 yml 和 jar 文件
535
542
@@ -602,7 +609,7 @@ Content-Type: application/json
602
609
603
610
604
611
605
- #### ** 漏洞原理:**
612
+ #### 漏洞原理:
606
613
607
614
1 . spring.cloud.bootstrap.location 属性被设置为外部恶意 yml 文件 URL 地址
608
615
2 . refresh 触发目标机器请求远程 HTTP 服务器上的 yml 文件,获得其内容
@@ -633,7 +640,7 @@ http://127.0.0.1:9092/env
633
640
634
641
### 0x03:eureka xstream deserialization RCE
635
642
636
- #### ** 利用条件:**
643
+ #### 利用条件:
637
644
638
645
- 可以 POST 请求目标网站的 ` /env ` 接口设置属性
639
646
- 可以 POST 请求目标网站的 ` /refresh ` 接口刷新配置(存在 ` spring-boot-starter-actuator ` 依赖)
@@ -642,7 +649,7 @@ http://127.0.0.1:9092/env
642
649
643
650
644
651
645
- #### ** 利用方法:**
652
+ #### 利用方法:
646
653
647
654
##### 步骤一:架设响应恶意 XStream payload 的网站
648
655
@@ -704,15 +711,15 @@ Content-Type: application/json
704
711
705
712
706
713
707
- #### ** 漏洞原理:**
714
+ #### 漏洞原理:
708
715
709
716
1 . eureka.client.serviceUrl.defaultZone 属性被设置为恶意的外部 eureka server URL 地址
710
717
2 . refresh 触发目标机器请求远程 URL,提前架设的 fake eureka server 就会返回恶意的 payload
711
718
3 . 目标机器相关依赖解析 payload,触发 XStream 反序列化,造成 RCE 漏洞
712
719
713
720
714
721
715
- #### ** 漏洞分析:**
722
+ #### 漏洞分析:
716
723
717
724
[ Spring Boot Actuator从未授权访问到getshell] ( https://www.freebuf.com/column/234719.html )
718
725
@@ -730,9 +737,9 @@ http://127.0.0.1:9093/env
730
737
731
738
732
739
733
- ### 0x04:Jolokia logback JNDI RCE
740
+ ### 0x04:jolokia logback JNDI RCE
734
741
735
- #### ** 利用条件:**
742
+ #### 利用条件:
736
743
737
744
- 目标网站存在 ` /jolokia ` 或 ` /actuator/jolokia ` 接口
738
745
- 目标使用了 ` jolokia-core ` 依赖(版本要求暂未知)并且环境中存在相关 MBean
@@ -742,7 +749,7 @@ http://127.0.0.1:9093/env
742
749
743
750
744
751
745
- #### ** 利用方法:**
752
+ #### 利用方法:
746
753
747
754
##### 步骤一:查看已存在的 MBeans
748
755
@@ -809,6 +816,8 @@ nc -lv 443
809
816
810
817
##### 步骤六:从外部 URL 地址加载日志配置文件
811
818
819
+ > ⚠️ 如果目标成功请求了example.xml 并且 marshalsec 也接收到了目标请求,但是目标没有请求 JNDIObject.class,大概率是因为目标环境的 jdk 版本太高,导致 JNDI 利用失败。
820
+
812
821
替换实际的 your-vps-ip 地址访问 URL 触发漏洞:
813
822
814
823
```
@@ -817,7 +826,7 @@ nc -lv 443
817
826
818
827
819
828
820
- #### ** 漏洞原理:**
829
+ #### 漏洞原理:
821
830
822
831
1 . 直接访问可触发漏洞的 URL,相当于通过 jolokia 调用 ` ch.qos.logback.classic.jmx.JMXConfigurator ` 类的 ` reloadByURL ` 方法
823
832
2 . 目标机器请求外部日志配置文件 URL 地址,获得恶意 xml 文件内容
@@ -827,15 +836,27 @@ nc -lv 443
827
836
828
837
829
838
830
- #### ** 漏洞分析:**
839
+ #### 漏洞分析:
831
840
832
841
[ spring boot actuator rce via jolokia] ( https://xz.aliyun.com/t/4258 )
833
842
834
843
835
844
836
- ### 0x05:Jolokia Realm JNDI RCE
845
+ #### 漏洞环境:
846
+
847
+ [ repository/springboot-jolokia-logback-rce] ( https://github.com/LandGrey/SpringBootVulExploit/tree/master/repository/springboot-jolokia-logback-rce )
848
+
849
+ 正常访问:
850
+
851
+ ```
852
+ http://127.0.0.1:9094/env
853
+ ```
854
+
855
+
837
856
838
- #### ** 利用条件:**
857
+ ### 0x05:jolokia Realm JNDI RCE
858
+
859
+ #### 利用条件:
839
860
840
861
- 目标网站存在 ` /jolokia ` 或 ` /actuator/jolokia ` 接口
841
862
- 目标使用了 ` jolokia-core ` 依赖(版本要求暂未知)并且环境中存在相关 MBean
@@ -844,7 +865,7 @@ nc -lv 443
844
865
845
866
846
867
847
- #### ** 利用方法:**
868
+ #### 利用方法:
848
869
849
870
##### 步骤一:查看已存在的 MBeans
850
871
@@ -884,7 +905,7 @@ nc -lvp 443
884
905
885
906
886
907
887
- #### ** 漏洞原理:**
908
+ #### 漏洞原理:
888
909
889
910
1 . 利用 jolokia 调用 createJNDIRealm 创建 JNDIRealm
890
911
2 . 设置 connectionURL 地址为 RMI Service URL
@@ -894,15 +915,15 @@ nc -lvp 443
894
915
895
916
896
917
897
- #### ** 漏洞分析:**
918
+ #### 漏洞分析:
898
919
899
920
[ Yet Another Way to Exploit Spring Boot Actuators via Jolokia] ( https://static.anquanke.com/download/b/security-geek-2019-q1/article-10.html )
900
921
901
922
902
923
903
924
### 0x06:h2 database query RCE
904
925
905
- #### ** 利用条件:**
926
+ #### 利用条件:
906
927
907
928
- 可以 POST 请求目标网站的 ` /env ` 接口设置属性
908
929
- 可以 POST 请求目标网站的 ` /restart ` 接口重启应用(存在 spring-boot-starter-actuator 依赖)
@@ -958,7 +979,7 @@ Content-Type: application/json
958
979
959
980
960
981
961
- #### ** 漏洞原理:**
982
+ #### 漏洞原理:
962
983
963
984
1 . spring.datasource.hikari.connection-test-query 属性被设置为一条恶意的 ` CREATE ALIAS ` 创建自定义函数的 SQL 语句
964
985
2 . 其属性对应 HikariCP 数据库连接池的 connectionTestQuery 配置,定义一个新数据库连接之前被执行的 SQL 语句
@@ -967,15 +988,15 @@ Content-Type: application/json
967
988
968
989
969
990
970
- #### ** 漏洞分析:**
991
+ #### 漏洞分析:
971
992
972
993
[ remote-code-execution-in-three-acts-chaining-exposed-actuators-and-h2-database] ( https://spaceraccoon.dev/remote-code-execution-in-three-acts-chaining-exposed-actuators-and-h2-database )
973
994
974
995
975
996
976
997
### 0x07:mysql jdbc deserialization RCE
977
998
978
- #### ** 利用条件:**
999
+ #### 利用条件:
979
1000
980
1001
- 可以 POST 请求目标网站的 ` /env ` 接口设置属性
981
1002
- 可以 POST 请求目标网站的 ` /refresh ` 接口刷新配置(存在 ` spring-boot-starter-actuator ` 依赖)
@@ -984,7 +1005,7 @@ Content-Type: application/json
984
1005
985
1006
986
1007
987
- #### ** 利用方法:**
1008
+ #### 利用方法:
988
1009
989
1010
##### 步骤一:查看环境依赖
990
1011
@@ -1080,7 +1101,7 @@ Content-Type: application/json
1080
1101
1081
1102
1082
1103
1083
- #### ** 漏洞原理:**
1104
+ #### 漏洞原理:
1084
1105
1085
1106
1 . spring.datasource.url 属性被设置为外部恶意 mysql jdbc url 地址
1086
1107
2 . refresh 刷新后设置了一个新的 spring.datasource.url 属性值
@@ -1090,7 +1111,7 @@ Content-Type: application/json
1090
1111
1091
1112
1092
1113
1093
- #### ** 漏洞分析:**
1114
+ #### 漏洞分析:
1094
1115
1095
1116
[ New-Exploit-Technique-In-Java-Deserialization-Attack] ( https://i.blackhat.com/eu-19/Thursday/eu-19-Zhang-New-Exploit-Technique-In-Java-Deserialization-Attack.pdf )
1096
1117
0 commit comments