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 दो-कारक को साफ़ करता है

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

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

सभी देखें →

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

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

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

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

Abraxas Labs - phpmyadmin-config-set-2fa

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

phpmyadmin-config-set-2fa

Class: Privilege leftover / missing step-up Reach: Remote

phpMyAdmin 5.2.3 (RELEASE_5_2_3 / 962857e) - phpMyAdmin

POST index.php?route=/config/set किसी भी allowlisted preference को लिखता है, जिसमें 2fa भी शामिल है। UserPreferences::persistOption कोई validation नहीं करता। Settings -> Two-factor अभी भी factor को हटाने से पहले TwoFactor::check(true) को कॉल करता है। /config/set ऐसा नहीं करता।

एक logged-in session, या XSS/CSRF जो page token को POST कर सकता है, key=2fa और value=null भेज सकता है। अगले password login में कोई TOTP, WebAuthn, या Simple prompt नहीं होता। यह स्थायी strip है, एक-request skip नहीं।

IDअभी तक कोई CVE नहीं
ClassPrivilege leftover / missing step-up
ReachRemote (authenticated cookie login; CSRF token आवश्यक)
CWECWE-620
CVSSHigh: 8.1 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N
ProductphpMyAdmin
Affected5.2.3 tag RELEASE_5_2_3 (962857e4f63d42e38f11ff4d63f5e722018add76)
Authcookie login. CSRF token आवश्यक। स्थायी 2FA strip तक XSS या CSRF को पूरा करता है
LicenseGNU Affero GPL v3.0
Labकेवल 127.0.0.1

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

TOTP, WebAuthn, या Simple confirm field प्रस्तुत किए बिना phpMyAdmin account से 2FA को strip करें। अगला password login केवल password-only होता है। उस MySQL user के रूप में पूर्ण PMA (SQL, users, export)।

PrivilegeMethod / pathRecon / integrity / availabilityLab-proven या inferred
2fa को null में persist करें और pmadb से second factor हटाएंAuthenticated POST index.php?route=/config/set key=2fa value=null साथ में valid tokenPreference store की integrityLab-proven। success:true, pmadb config_data [] हो गया
उस write के बाद केवल password से login करेंनया cookie session, वही MySQL userLogin path की integrityLab-proven। कोई 2fa_confirm नहीं, सामान्य UI में पहुंचा
बाद के logins के लिए 2FA गायब होने के दौरान वर्तमान session बनाए रखेंवही handler; persistOption store को लिखता है, live two_factor_check flag को नहींबाद के sessions की integrityLab-proven। Session A अंदर रहा। Session B ने 2FA देखा था। Session C ने नहीं देखा
Stored XSS या CSRF से chain करें जो page token के साथ POST कर सकता हैSame-review leftovers, यह lab नहींSame-origin POST के बाद 2FA की integrityInferred
Settings के माध्यम से 2FA हटाएंPOST /preferences/two-factor 2fa_remove=1Documented UI के माध्यम से 2FA की integrityLab-proven closed। Factor के बिना, PMA confirm page दिखाता है और pmadb में अभी भी backend=simple है

इस leftover पर closed: unauthenticated access, MySQL password को skip करना, OS RCE, अन्य users की pmadb rows पढ़ना। मुझे leftover #1 (CustomServer signature) की आवश्यकता नहीं थी। मैंने MySQL password को skip नहीं किया।

Same pin: WebAuthn CustomServer leftover।

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

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

SetConfigController key और JSON value लेता है और Config::setUserValue को कॉल करता है। UserPreferences::persistOption documented है "No validation is done!" apply() 2fa को allowlist करता है ताकि key unknown 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 को hole मानना (यह अभी भी factor की मांग करता है); unauthenticated access का दावा; MySQL password के skip का दावा; इसे leftover #1 (CustomServer) मानना; एक reverse shell। Theatre।

Lab

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

Target केवल http://127.0.0.1:19280। Compose project phpmyadmin-config-set-2fa। Pin RELEASE_5_2_3। run.sh उस tag को image के लिए lab/src/ में copy या clone करता है। Run के बाद stack tear down हो जाता है।

Settings ने Simple 2FA enroll किया। एक दूसरे browser ने 2fa_confirm page hit किया। Factor के बिना POST 2fa_remove confirm UI पर ही रहा और pmadb में backend=simple छोड़ गया। फिर POST /config/set ने success:true लौटाया, pmadb [] हो गया, और अगला login सामान्य 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

The fix

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

References

  • github.com/phpmyadmin/phpmyadmin tag RELEASE_5_2_3 (962857e4f63d42e38f11ff4d63f5e722018add76)
  • libraries/classes/Controllers/Config/SetConfigController.php
  • libraries/classes/Config/UserPreferences.php
  • Same pin: PMA-5.2.3-WebAuthn-2FA
  • CWE-620

License

GNU Affero GPL v3.0. देखें LICENSE। केवल Loopback lab। कोई warranty नहीं।

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