Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-71206-PoC — PoC: Shiori JWT CheckToken खाते की स्थिति का पुनः सत्यापन कभी नहीं करता (CVE-2026-71206, उच्च 8.2) | Kitploit
उपकरण/GitHubGitHub/nel-droid/cve-2026-71206-poc
प्रमाणीकरण और प्राधिकरणभेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणवेब सुरक्षाप्रमाणीकरण
GitHubnel-droid/cve-2026-71206-poc

CVE-2026-71206-PoC

PoC: Shiori JWT CheckToken खाते की स्थिति का पुनः सत्यापन कभी नहीं करता (CVE-2026-71206, उच्च 8.2)

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

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

सभी देखें →

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

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

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

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

CVE-2026-71206 — Shiori: JWT CheckToken खाते की स्थिति को कभी पुनः सत्यापित नहीं करता

उत्पाद: go-shiori/shiori फ़ाइल: internal/domains/auth.go CWE: CWE-613 — Insufficient Session Expiration CVSS 3.1: AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:L — 8.2 (High) CNA: Turan Security · CVE रिकॉर्ड

विवरण

Shiori का CheckToken फ़ंक्शन (internal/domains/auth.go) केवल JWT के HMAC हस्ताक्षर को सत्यापित करता है और एम्बेडेड claims.Account ऑब्जेक्ट को अपरिवर्तित लौटाता है — यह प्रत्येक अनुरोध पर डेटाबेस से खाते को पुनः प्राप्त नहीं करता। कोडबेस में कहीं भी कोई सेशन स्टोर या टोकन-रद्दीकरण तंत्र मौजूद नहीं है।

प्रभाव

एक बार JWT जारी हो जाने के बाद, यह अपने पूरे जीवनकाल के लिए पूर्ण रूप से मान्य रहता है, चाहे उसके बाद खाते के साथ कुछ भी हो। यदि कोई एडमिन किसी उपयोगकर्ता को हटा देता है, उन्हें पदावनत कर देता है, या संदिग्ध समझौते के बाद उपयोगकर्ता का पासवर्ड बदल दिया जाता है, तो उस खाते को पहले जारी किया गया कोई भी JWT परिवर्तन के बाद भी टोकन में अंतर्निहित मूल दावों (claims) (भूमिका, खाता ID, आदि) के साथ सफलतापूर्वक प्रमाणित होता रहता है — इसे अमान्य करने के लिए कोई सर्वर-साइड स्थिति नहीं होती।

पुनरुत्पादन

  1. किसी उपयोगकर्ता के रूप में प्रमाणित करें और जारी किया गया JWT कैप्चर करें (उदा. POST /api/v1/auth/login के माध्यम से)।
  2. एडमिन के रूप में, खाते को हटा दें या उपयोगकर्ता की भूमिका को पदावनत करें।
  3. मूल JWT को किसी भी प्रमाणित एंडपॉइंट के विरुद्ध दोबारा भेजें (replay):
    root@kitploit:~
    GET /api/bookmarks
    Authorization: Bearer <original JWT>
    
  4. यह अनुरोध पुराने (stale) दावों का उपयोग करके सफल हो जाता है — हटाए गए/पदावनत किए गए खाते के पास अभी भी पहुँच होती है, क्योंकि CheckToken वर्तमान DB स्थिति की जाँच कभी नहीं करता, केवल हस्ताक्षर की।

मूल कारण

CheckToken JWT पेलोड को खाते की स्थिति के लिए सत्य का स्रोत मानता है, इसे एक बियरर क्रेडेंशियल के रूप में मानने के बजाय जिसे प्रत्येक उपयोग पर डेटाबेस के विरुद्ध पुनः सत्यापित किया जाना चाहिए (या किसी रद्दीकरण सूची के विरुद्ध जाँचा जाना चाहिए)।

सुधार अनुशंसा

एम्बेडेड दावों पर अक्षरशः भरोसा करने के बजाय, प्रत्येक प्रमाणित अनुरोध पर खाते को ID द्वारा पुनः प्राप्त करें (या न्यूनतम रूप से किसी रद्दीकरण/सेशन स्टोर के विरुद्ध जाँच करें जो टोकन ID (jti) पर आधारित हो और जिसे खाता हटाने, पदावनति या पासवर्ड परिवर्तन पर अमान्य किया जाए)।

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