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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
phpmyadmin-config-set-2fa — phpMyAdmin 5.2.3 - उच्च - रिमोट - 2FA - config/set दो-कारक को साफ़ करता है | Kitploit
उपकरण/GitHubGitHub/abraxas/phpmyadmin-config-set-2fa
भेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणवेब सुरक्षापेनिट्रेशन टेस्टिंगप्रमाणीकरणलैब और अभ्यास
GitHubabraxas/phpmyadmin-config-set-2fa

phpmyadmin-config-set-2fa

phpMyAdmin 5.2.3 - उच्च - रिमोट - 2FA - config/set दो-कारक को साफ़ करता है

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

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

सभी देखें →

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

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

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

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

Abraxas Labs - phpmyadmin-config-set-2fa

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  phpmyadmin-config-set-2fa

राइट-अप: https://abraxaslabs.tech/research/phpmyadmin-config-set-2fa

phpmyadmin-config-set-2fa

वर्ग: विशेषाधिकार अवशेष / अनुपस्थित स्टेप-अप पहुँच: रिमोट

phpMyAdmin 5.2.3 (RELEASE_5_2_3 / 962857e) - phpMyAdmin

POST index.php?route=/config/set किसी भी अनुमत-सूचीबद्ध प्राथमिकता को लिखता है, जिसमें 2fa भी शामिल है। UserPreferences::persistOption कोई सत्यापन नहीं करता। Settings -> Two-factor अभी भी फ़ैक्टर हटाने से पहले TwoFactor::check(true) को कॉल करता है। /config/set ऐसा नहीं करता।

एक लॉग-इन सत्र, या XSS/CSRF जो पेज टोकन को POST कर सके, key=2fa और value=null भेज सकता है। अगले पासवर्ड लॉगिन में कोई TOTP, WebAuthn, या Simple प्रॉम्प्ट नहीं होता। यह टिकाऊ हटाव है, एक-अनुरोध की छूट नहीं।

IDअभी तक कोई CVE नहीं
वर्गविशेषाधिकार अवशेष / अनुपस्थित स्टेप-अप
पहुँचरिमोट (प्रमाणित कुकी लॉगिन; CSRF टोकन आवश्यक)
CWECWE-620
CVSSउच्च: 8.1 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N
उत्पादphpMyAdmin
प्रभावित5.2.3 टैग RELEASE_5_2_3 (962857e4f63d42e38f11ff4d63f5e722018add76)
प्रमाणीकरणकुकी लॉगिन। CSRF टोकन आवश्यक। XSS या CSRF को टिकाऊ 2FA हटाव तक पूर्ण करता है
लाइसेंसGNU Affero GPL v3.0
लैबकेवल 127.0.0.1

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

TOTP, WebAuthn, या Simple पुष्टि फ़ील्ड प्रस्तुत किए बिना phpMyAdmin खाते से 2FA हटाएँ। अगला पासवर्ड लॉगिन केवल पासवर्ड-आधारित होता है। उस MySQL उपयोगकर्ता के रूप में पूर्ण PMA (SQL, उपयोगकर्ता, निर्यात)।

विशेषाधिकारविधि / पथरेकॉन / अखंडता / उपलब्धतालैब-प्रमाणित या अनुमानित
2fa को null में स्थायी करें और pmadb से दूसरा फ़ैक्टर हटाएँप्रमाणित POST index.php?route=/config/set key=2fa value=null साथ में वैध tokenप्राथमिकता स्टोर की अखंडतालैब-प्रमाणित। success:true, pmadb config_data [] हो गया
उस लेखन के बाद केवल पासवर्ड से लॉगिन करेंनया कुकी सत्र, वही MySQL उपयोगकर्तालॉगिन पथ की अखंडतालैब-प्रमाणित। कोई 2fa_confirm नहीं, सामान्य UI में पहुँचा
वर्तमान सत्र बनाए रखें जबकि बाद के लॉगिन के लिए 2FA गायब हो जाएवही हैंडलर; persistOption स्टोर लिखता है, लाइव two_factor_check फ़्लैग नहींबाद के सत्रों की अखंडतालैब-प्रमाणित। सत्र A अंदर रहा। सत्र B ने 2FA देखा था। सत्र C ने नहीं देखा
संग्रहीत XSS या CSRF से श्रृंखलाबद्ध करें जो पेज टोकन के साथ POST कर सकेसमान-समीक्षा अवशेष, यह लैब नहींसमान-मूल POST के बाद 2FA की अखंडताअनुमानित
Settings के माध्यम से 2FA हटाएँPOST /preferences/two-factor 2fa_remove=1प्रलेखित UI के माध्यम से 2FA की अखंडतालैब-प्रमाणित बंद। फ़ैक्टर के बिना, PMA पुष्टि पेज दिखाता है और pmadb में अभी भी backend=simple है

इस अवशेष पर बंद: अप्रमाणित पहुँच, MySQL पासवर्ड छोड़ना, OS RCE, अन्य उपयोगकर्ताओं की pmadb पंक्तियाँ पढ़ना। मुझे अवशेष #1 (CustomServer हस्ताक्षर) की आवश्यकता नहीं थी। मैंने MySQL पासवर्ड नहीं छोड़ा।

समान पिन: WebAuthn CustomServer अवशेष।

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

मैंने PMASA-2025-1/2/3 के बाद 5.2.3 पिन किया। Cookie auth, pmadb pma__userconfig। लैब केवल इसलिए $cfg['DBG']['simple2fa'] चालू करता है ताकि Settings बिना हार्डवेयर key के Simple backend enroll कर सके। TOTP और WebAuthn एक ही 2fa preference key में रहते हैं।

SetConfigController key और JSON value लेता है और Config::setUserValue को कॉल करता है। UserPreferences::persistOption का दस्तावेज़ कहता है "No validation is done!" apply() 2fa को allowlist करता है ताकि key अज्ञात pref के रूप में drop न हो।

$result = $this->config->setUserValue(null, $key, json_decode($value));

json_decode('null') PHP null है। persistOption('2fa', null, $default) फिर config_data['2fa'] को unset कर देता है क्योंकि उस path के लिए default भी null है।

Settings -> Two-factor इसके विपरीत है। TwoFactorController तब तक configure('') नहीं करेगा जब तक TwoFactor::check(true) true न लौटाए।

पहले से दर्ज गलत मोड़: Settings 2fa_remove को छेद मानना (यह अभी भी factor की मांग करता है); unauthenticated access का दावा करना; MySQL password को skip करने का दावा करना; इसे leftover #1 (CustomServer) मानना; एक reverse shell। नाटक।

Lab

python3 phpmyadmin-config-set-2fa-Abraxas-Labs.py
# or: cd lab && ./run.sh

केवल http://127.0.0.1:19280 को लक्षित करें। प्रोजेक्ट phpmyadmin-config-set-2fa को कंपोज़ करें। RELEASE_5_2_3 को पिन करें। run.sh उस टैग को इमेज के लिए lab/src/ में कॉपी या क्लोन करता है। रन के बाद स्टैक टियर डाउन हो जाता है।

सेटिंग्स ने Simple 2FA को एनरोल किया। एक दूसरे ब्राउज़र ने 2fa_confirm पेज को हिट किया। फैक्टर के बिना POST 2fa_remove कॉन्फ़र्म UI पर ही रहा और pmadb में backend=simple छोड़ गया। इसके बाद POST /config/set ने success:true लौटाया, pmadb [] हो गया, और अगला लॉगिन सामान्य UI में पहुँच गया।

SUCCESS phpmyadmin-config-set-2fa enroll=simple ui-remove-blocked=yes config-set-cleared=yes next-login-password-only=yes PMA-CONFIG-SET-2FA-WITNESS

समाधान

/config/set पर 2fa (और अन्य auth कुंजियों) को अस्वीकार करें। किसी भी 2FA परिवर्तन से पहले TwoFactor::check(true) आवश्यक करें। Settings पथ को ही एकमात्र लेखक बनाए रखें।

संदर्भ

  • github.com/phpmyadmin/phpmyadmin टैग RELEASE_5_2_3 (962857e4f63d42e38f11ff4d63f5e722018add76)
  • libraries/classes/Controllers/Config/SetConfigController.php
  • libraries/classes/Config/UserPreferences.php
  • समान पिन: PMA-5.2.3-WebAuthn-2FA
  • CWE-620

लाइसेंस

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

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