Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

फ़ीडसंपर्कगोपनीयता© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
openmeetings-calendar-save-idor — Apache OpenMeetings 9.1.0 - उच्च - रिमोट - IDOR - LOGIN कैलेंडर सहेजना अपॉइंटमेंट को अधिलेखित करता है और सार्वजनिक कक्ष बंद करता है | Kitploit
उपकरण/GitHubGitHub/abraxas/openmeetings-calendar-save-idor
भेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणजानकारी एकत्र करनावेब सुरक्षापेनिट्रेशन टेस्टिंगलैब और अभ्यास
GitHubabraxas/openmeetings-calendar-save-idor

openmeetings-calendar-save-idor

Apache OpenMeetings 9.1.0 - उच्च - रिमोट - IDOR - LOGIN कैलेंडर सहेजना अपॉइंटमेंट को अधिलेखित करता है और सार्वजनिक कक्ष बंद करता है

रिपॉजिटरी देखें
43 दिन पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

Abraxas Labs - openmeetings-calendar-save-idor

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  openmeetings-calendar-save-idor

openmeetings-calendar-save-idor

Class: IDOR Reach: Remote

Apache OpenMeetings 9.1.0 (9773c59e) - Apache Software Foundation

कोई भी LOGIN उपयोगकर्ता किसी अन्य अपॉइंटमेंट की id के साथ POST /services/calendar/ कर सकता है और owner को छोड़ सकता है। save predicate कभी भी persisted owner को लोड नहीं करता। इसके बाद CalendarMapper और फिर RoomMapper संलग्न room पर closed / ispublic / name लिखते हैं। एक पंजीकृत उपयोगकर्ता किसी और की मीटिंग को अधिलेखित कर देता है और एक सार्वजनिक कॉन्फ़्रेंस रूम को बंद कर देता है।

IDअभी तक कोई CVE नहीं
ClassIDOR
ReachRemote (प्रमाणित LOGIN REST)
CWECWE-639, CWE-284
CVSSHigh: 7.6 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:H/A:L
ProductApache OpenMeetings
Affected9.1.0 (9773c59e1af327bf988018e661f456ae9997c29f)
AuthLOGIN (डिफ़ॉल्ट self-register इसे जारी करता है)
LicenseGNU Affero GPL v3.0
Labकेवल 127.0.0.1:18150। apache/openmeetings:min-9.1.0 और Temurin 21।

मैंने टैग 9.1.0 को पिन किया, 9773c59e1af327bf988018e661f456ae9997c29f (2026-07-14) निकाला। नवीनतम GA। Java 21। master नहीं।

हमलावर क्या कर सकता है

पंजीकरण करें (wizard allowFrontendRegister=true) या कोई भी LOGIN पासवर्ड रखें। POST /openmeetings/services/user/login एक SID जारी करता है। अपॉइंटमेंट id क्रमिक होते हैं। सार्वजनिक room id 2 स्टॉक कॉन्फ़्रेंस रूम है।

MethodSinkPrivilege
POST /services/calendar/?sid= form appointment JSON, owner छोड़ा गया, victim idCalendarWebService.save predicate (CalendarWebService.java:310-329)Integrity (lab-proven): title, times, members को अधिलेखित करें। Lab: title OPENMEETINGS-CALENDAR-SAVE-WITNESS हो गया, owner 2→3।
वही save; room.closed=trueRoomMapper.get managed entity पर लिखता है (RoomMapper.java:62-92) फिर dao.updateIntegrity + availability (lab-proven): सार्वजनिक कॉन्फ़्रेंस रूम ने closed=true, isPublic=false को persist किया। SOAP GET /room/2 ने वही लौटाया।
save के बाद हमलावर GET title/rangeresponse DTO post-write row हैRecon (lab-proven): witness title। owner चोरी के बाद victim range खाली।

Lab-proven बनाम inferred: save HTTP 200, title, owner steal, room close lab हैं। उसी mapper पर capacity / moderated bits inferred हैं।

आवश्यक: /openmeetings/services तक नेटवर्क पथ। एक LOGIN खाता। एक victim appointment id (क्रमिक, या एक बनाकर प्रतीक्षा करें)। डिफ़ॉल्ट खुला साइनअप।

आसन्न सतह जो बंद रहती है

Surfaceक्यों
DELETE /calendar/{id}owner या SOAP/ADMIN। सामान्य LOGIN दूसरों को हटा नहीं सकता।
Range / next / title readsowner-scoped। हमलावर को मूल row की साफ़ read नहीं मिलती।
Recording MP4भिन्न ACL (RecordingResourceReference)।
SOAP-only list-by-useridRight.SOAP। डिफ़ॉल्ट पंजीकृत उपयोगकर्ताओं के पास यह नहीं है।
Unauthenticated saveperformCall को LOGIN वाला SID चाहिए।

मैंने इसे कैसे खोजा

9.1.0 ने CVE-2026-49488 (whiteboard fuid OS read) को बंद किया। मैंने REST object ids की खोज जारी रखी। Calendar delete a.isOwner(sd.getUserId()) जाँचता है। Calendar save request DTO owner, या null जाँचता है। CalendarMapper.get बिना किसी owner scope के appointmentDao.get(dto.getId()) लोड करता है। इसके बाद RoomMapper dao.update से पहले room JPA entity को dirty कर देता है।

SOAP सूची जिसमें हर अपॉइंटमेंट LMS एकीकरण खाता है। यह अवशेष LOGIN बनाम owner है।

Lab

cd lab
./run.sh

Loopback https://127.0.0.1:18150/openmeetings। आधिकारिक docker admin om_admin / 1Q2w3e4r5t^y। स्व-हस्ताक्षरित TLS। Witness अंतिम पंक्ति:

SUCCESS OPENMEETINGS-CALENDAR-SAVE-WITNESS

सुझाया गया समाधान

सहेजने से पहले सहेजी गई अपॉइंटमेंट लोड करें। SOAP/ADMIN के अलावा a.isOwner(caller) आवश्यक करें। RoomMapper के लेखन उस रूम पर न लागू करें जिसे कॉलर मॉडरेट नहीं कर सकता। छोड़े गए owner को "सहेजा गया owner बनाए रखें" मानें, न कि "कॉलर owner बन जाता है"।

संपर्क

Abraxas Labs - https://abraxaslabs.tech - https://github.com/abraxas - https://x.com/abraxas_null - [email protected]

विक्रेता: [email protected]

टूल डाउनलोड करें