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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2023-45503 — CVE-2023-45503 संदर्भ | Kitploit
उपकरण/GitHubGitHub/ally-petitt/cve-2023-45503
भेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणपेनिट्रेशन टेस्टिंगलर्निंग और शिक्षाडेटाबेस सुरक्षा
GitHubally-petitt/cve-2023-45503

CVE-2023-45503

CVE-2023-45503 संदर्भ

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

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

सभी देखें →

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

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

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

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

CVE-2023-45503 भेद्यता विवरण

अवलोकन

Macrob7 Macs फ्रेमवर्क कंटेंट मैनेजमेंट सिस्टम (CMS) संस्करण 1.1.4f और उससे पहले के संस्करणों में, उपयोगकर्ता इनपुट के असुरक्षित हैंडलिंग के कारण 16 SQL इंजेक्शन भेद्यताएँ उत्पन्न होती हैं। मनमाना SQL क्वेरी निष्पादित करने की क्षमता के परिणामस्वरूप उपयोगकर्ताओं के पासवर्ड हैश सहित निजी डेटा लीक हो सकता है, और अन्य उपयोगकर्ताओं के क्रेडेंशियल और विशेषाधिकार स्तर को संशोधित करने की क्षमता मिल सकती है। इसके प्रभाव में विशेषाधिकार वृद्धि और संभावित रिमोट कोड एक्जीक्यूशन (RCE) शामिल हो सकता है।

प्रत्येक प्रभावित एंडपॉइंट, भेद्य पैरामीटर और भेद्य फ़ंक्शंस का विवरण देने वाली एक स्प्रेडशीट इस लिंक पर पाई जा सकती है।

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

रिपोर्ट किया गया: Ally Petitt

प्रभावित उत्पाद: Macrob7 Macs CMS

प्रभावित संस्करण: 1.1.4f और पिछले

तकनीकी विवरण

मैंने 16 उदाहरणों में देखा कि उपयोगकर्ता इनपुट को उचित स्वच्छता या पैरामीटरीकरण के बिना प्राप्त किया गया। उदाहरण के लिए, इस CMS की "पासवर्ड भूल गए" कार्यक्षमता में एक ईमेल पता माँगा जाता है।

Application/plugins/CMS/controllers/CMS.php:224

root@kitploit:~
    public function forgotPasswordProcess()
    {
      $this->loadModels();
      $emailAddress = Post::getByKey('emailAddress');

      $user = $this->usersModel->getUserByEmailAddress($emailAddress);

इसके बाद ईमेल पते को विधि getUserByEmailAddress() में पास किया जाता है, जो ईमेल को selectSingle() पर भेजती है, एक ऐसी विधि जो इंजेक्टेड SQL क्वेरीज़ के विरुद्ध उचित रूप से सुरक्षा नहीं करती।

Application/plugins/CMS/models/Users_Model.php:41

root@kitploit:~
    public function getUserByEmailAddress($emailAddress)
    {
       return $this->selectSingle( $this->getCMSTableNameUsers(), array('EmailAddress'=>$emailAddress));
    }

फिर, selectSingle() पास किए गए उपयोगकर्ता इनपुट के साथ select() को कॉल करता है।

Application/core/DB.php:200

root@kitploit:~
    public function selectSingle($tableName, array $where = array(), array $fields = array('*'))
    {
      $return = $this->select($tableName, $where, $fields);

      $single = NULL;

      if( count($return) > 0 )
        $single = $return[0];

      return $single;
    }

भेद्य select() फ़ंक्शन इसमें पास किए गए पैरामीटर्स को एक SQL क्वेरी में जोड़ता है, जिसे बाद में निष्पादित किया जाता है।

Application/core/DB.php:186

root@kitploit:~
    public function select($tableName, array $where = array(), array $fields = array('*'))
    {      
      $fieldsString = $this->generatePair($fields, ',');
      $whereString = $this->generateKeyValuePair($where, '=', 'AND');

      $sql = 'SELECT '.$fieldsString.' FROM '.$tableName;

      if($whereString !='')
        $whereString = ' WHERE '.$whereString;

      $sql = $sql.' '.$whereString.';';     
      return $this->execute($sql)->fetchAll($this->returnType, $this->className);
    }

इनपुट स्वच्छता, सत्यापन और पैरामीटरीकरण की कमी के कारण, यह फ़ंक्शन SQL इंजेक्शन हमलों के प्रति भेद्य बना रहता है।

शमन

दुर्भाग्य से, इस CMS पर रखरखाव की कमी का मतलब है कि पैच किया गया अपडेट उपलब्ध नहीं है। व्यक्तिगत उपयोगकर्ता कोड में संशोधन कर सकते हैं ताकि उपयोगकर्ता इनपुट को डेटाबेस में पास करने के लिए कॉन्केटनेशन पर निर्भर रहने के बजाय पैरामीटरयुक्त SQL क्वेरीज़ शामिल की जाएँ। तैयार स्टेटमेंट्स (Prepared statements) एक शमन का उदाहरण हैं जो इसे प्राप्त कर सकते हैं।

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