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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
element-fragment-guest — Element Web v1.12.29 - उच्च - रिमोट - सेशन - fragment guest creds whoami से पहले वास्तविक सेशन को मिटा देता है | Kitploit
उपकरण/GitHubGitHub/abraxas/element-fragment-guest
भेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणवेब सुरक्षाप्रमाणीकरणलैब और अभ्यास
GitHubabraxas/element-fragment-guest

element-fragment-guest

Element Web v1.12.29 - उच्च - रिमोट - सेशन - fragment guest creds whoami से पहले वास्तविक सेशन को मिटा देता है

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

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

सभी देखें →

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

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

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

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

Abraxas Labs - element-fragment-guest

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  element-fragment-guest

लेख: https://abraxaslabs.tech/research/element-fragment-guest

element-fragment-guest

Element Web v1.12.29 - Element / New Vector

वर्ग: सत्र विनाश पहुँच: रिमोट

Lifecycle.loadSession restoreSessionFromStorage की तुलना में URL हैश से guest_user_id और guest_access_token को प्राथमिकता देता है। अतिथि डिफ़ॉल्ट रूप से सक्षम होते हैं (enableGuest={!config.disable_guests})। app.element.io का config.json disable_guests सेट नहीं करता। onTokenLoginCompleted केवल SSO और OIDC पैरामीटर हटाता है। यह कभी भी अतिथि कुंजियाँ नहीं हटाता। url_utils.ts में पहले से ही टिप्पणी है कि ये फ़्रैगमेंट पैरामीटर अप्रयुक्त प्रतीत होते हैं। वे फिर भी जीतते हैं।

कोई भी व्यक्ति जो किसी साइन-इन उपयोगकर्ता को अतिथि फ़्रैगमेंट पैरामीटर वाला हैश URL खोलने के लिए प्रेरित कर सकता है, उन्हें लॉग आउट कर देता है और स्थानीय क्रिप्टो मिटा देता है। एक कचरा टोकन ही काफ़ी है। whoami कभी कॉल नहीं होता।

IDअभी तक कोई CVE नहीं
CWECWE-384 / CWE-352 / CWE-613
CVSSउच्च: 7.1 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:H
उत्पादElement Web
प्रभावितv1.12.29 टैग v1.12.29 (2d90d6b7b601ecb9ccdf81239a43b4396b4b0c9e)। अतिथि सक्षम (डिफ़ॉल्ट)।
प्रमाणीकरणअनप्रमाणित हमलावर। पीड़ित को एक URL खोलना (या पुनः लोड करना) होगा।
लाइसेंसGNU Affero GPL v3.0
लैबकेवल 127.0.0.1

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

किसी साइन-इन उपयोगकर्ता को अतिथि फ़्रैगमेंट पैरामीटर वाला हैश URL खोलने के लिए प्रेरित करें। क्लाइंट उन्हें लॉग आउट कर देता है, स्थानीय क्रिप्टो मिटा देता है, और उन्हें हमलावर के अतिथि पर पहुँचा सकता है। यह लॉगआउट और क्रिप्टो वाइप है। यह असली टोकन चुराना नहीं है। यह OS RCE नहीं है।

विशेषाधिकारविधि / सिंकरेकॉन / अखंडता / उपलब्धतालैब-प्रमाणित या अनुमानित
हैश से अतिथि क्रेडेंशियल पार्स करेंurl_utils.ts guest: { keys: ["guest_user_id", "guest_access_token"], location: "fragment" }सत्र चयन की अखंडतालैब-प्रमाणित। #/home?guest_user_id=...&guest_access_token=... guest_params बन गया। केवल क्वेरी-स्ट्रिंग नहीं बना।
संग्रहीत गैर-अतिथि सत्र पर अतिथि को प्राथमिकता देंLifecycle.loadSession अतिथि-प्रथम शाखा, लॉग Using guest access credentialsअखंडतालैब-प्रमाणित। सीड किया गया @victim:example.org पुनर्स्थापित नहीं हुआ।
localStorage, IndexedDB खाता, sessionStorage, क्रिप्टो मिटाएँdoSetLoggedIn(..., clearStorageEnabled=true) फिर clearStorage()स्थानीय सत्र की अखंडता / उपलब्धतालैब-प्रमाणित। crypto_empty=yes, पूर्व टोकन चला गया।
टोकन सत्यापन छोड़ेंअतिथि पथ कभी /_matrix/client/v3/account/whoami कॉल नहीं करताअखंडतालैब-प्रमाणित। whoami_called=no। कचरा टोकन not-a-real-token फिर भी वाइप कर गया।
हमलावर के अतिथि क्रेडेंशियल बनाए रखेंवाइप के बाद persistCredentialsअखंडतालैब-प्रमाणित। after_user=@x:example.org, after_token=not-a-real-token, mx_is_guest=true।
डिफ़ॉल्ट HS पर वास्तविक अतिथि पर फ़िक्सेट करेंयदि अतिथि टोकन वैध है तो वही persistअखंडताअनुमानित। लैब ने कचरा टोकन का उपयोग किया, इसलिए कोई लाइव HS लॉगिन नहीं।
पुनः लोड पर यह करते रहेंअतिथि कुंजियाँ हैश में बनी रहती हैं; onTokenLoginCompleted उन्हें नहीं हटाताअखंडतापिन app.tsx से अनुमानित। लैब ने URL एक बार खोला।

इस बचे हुए मामले को बंद किया: असली एक्सेस टोकन चुराया गया (यह हटा दिया गया है, बाहर नहीं भेजा गया)। OS RCE / LPE (Desktop nodeIntegration: false, sandbox)। लाइव Element SPA (how=gadget)। Query-string ?guest_user_id= (केवल fragment)। disable_guests: true गैर-गेस्ट सत्र को बनाए रखता है। एक पैच किया गया loadSession जो गैर-गेस्ट सत्र मौजूद होने पर गेस्ट को अनदेखा करता है, वह भी इसे बनाए रखता है।

वही pin leftovers: vector: Windows drive-letter, Univention ICS javascript: href।

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

22 सितम्बर 2026 की GitHub रिलीज़ के बाद मैंने Element Web v1.12.29 को pin किया। SSO loginToken केवल query में होता है और उपयोग के बाद हटा दिया जाता है। गेस्ट कुंजियाँ अभी भी fragment में बैठी हैं और restore पर हावी हो जाती हैं। url_utils.ts में टिप्पणी ही संकेत है: उन्हें पहले से ही संदेह था कि ये कुंजियाँ specified थीं।

पहले से दर्ज गलत रास्ते: query-string ?guest_user_id= को vector मानना (कुंजियाँ hash में रहती हैं); इसे token theft कहना (असली टोकन हटा दिया जाता है, भेजा नहीं जाता); app.element.io config पर disable_guests की अपेक्षा करना (यह unset है)। एक reverse shell। नाटक।

लैब

pin functions का gadget। लाइव Element Web कंटेनर नहीं। how=gadget।

python3 element-fragment-guest-Abraxas-Labs.py

या

cd lab
./run.sh

केवल http://127.0.0.1:19600 को लक्षित करें। प्रोजेक्ट element-fragment-guest को कंपोज़ करें। रन के बाद स्टैक टियर डाउन हो जाता है।

SUCCESS element-fragment-guest how=gadget guest-wipe=yes prior-kept=no garbage-token=yes disable-guests-keeps=yes ELEMENT-FRAGMENT-GUEST-WITNESS

समाधान

जब पहले से कोई गैर-अतिथि सत्र मौजूद हो तो अतिथि फ़्रैगमेंट पैराम्स को अनदेखा करें। clearStorage से पहले /_matrix/client/v3/account/whoami के साथ अतिथि टोकन को सत्यापित करें। SSO टोकन को हटाए जाने की तरह ही guest_user_id और guest_access_token को हटा दें। होस्टेड app.element.io के लिए डिफ़ॉल्ट disable_guests: true रखें।

संदर्भ

  • github.com/element-hq/element-web टैग v1.12.29
  • Lifecycle.ts (loadSession अतिथि-प्राथमिक)
  • url_utils.ts
  • app.tsx (enableGuest={!config.disable_guests})
  • समान पिन: element-vector-drive-letter · element-ics-javascript
  • CWE-384

लाइसेंस

GNU Affero GPL v3.0. देखें LICENSE। केवल लूपबैक लैब। कोई वारंटी नहीं।

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