
WordPress Elementor 3.6.0 3.6.1 3.6.2 RCE POC
Google Dork: none
Date: April 16 2022
Exploit Author: AkuCyberSec (https://github.com/AkuCyberSec)
Vendor Homepage: https://elementor.com/
Software Link: https://wordpress.org/plugins/elementor/advanced/ (scroll down to select the version)
Version: 3.6.0, 3.6.1, 3.62
Tested on: WordPress 5.9.3 (os-independent since this exploit does NOT provide the payload)
CVE : CVE-2022-1329
Elementor (v. 3.6.0, 3.6.1, 3.6.2) नामक WordPress प्लगइन में एक भेद्यता है जो किसी भी प्रमाणित उपयोगकर्ता को कोई भी PHP फ़ाइल अपलोड करने और निष्पादित करने की अनुमति देती है।
OWASP TOP 10 2021 में, यह भेद्यता स्थान #1 (टूटा हुआ एक्सेस नियंत्रण) पर रखी गई है।
इस भेद्यता वाली फ़ाइल elementor/core/app/modules/onboarding/module.php है।
इस फ़ाइल के अंत में आप यह कोड पा सकते हैं:
add_action( 'admin_init', function() {
if ( wp_doing_ajax() &&
isset( $_POST['action'] ) &&
isset( $_POST['_nonce'] ) &&
wp_verify_nonce( $_POST['_nonce'], Ajax::NONCE_KEY )
) {
$this->maybe_handle_ajax();
}
} );
यह कोड तब ट्रिगर होता है जब कोई भी उपयोगकर्ता खाता /wp-admin पर जाता है।
इसे काम करने के लिए हमें निम्नलिखित 4 चीज़ों की आवश्यकता है:
हम जो फ़ाइल अपलोड करते हैं उसकी संरचना निम्नलिखित होनी चाहिए:
यह फ़ाइल आपका पेलोड होगी (जैसे PHP Reverse Shell या कुछ और)।
चेतावनी: हम जो नकली प्लगइन अपलोड करते हैं वह Elementor द्वारा सक्रिय किया जाएगा, इसका मतलब है कि हर बार जब हम किसी पेज पर जाते हैं तो हमारा पेलोड ट्रिगर होता है।
यदि यह, उदाहरण के लिए, किसी ऑफ़लाइन होस्ट से कनेक्ट करने की कोशिश करता है, तो यह सेवा अस्वीकार का कारण बन सकता है।
इसे रोकने के लिए, मेरा सुझाव है कि आप पेलोड को सक्रिय करने के लिए कुछ वेरिएबल का उपयोग करें।
कुछ इस तरह (वास्तविक पेलोड के साथ जारी रखने के लिए anypage.php?activate=1 पर जाएं):
if (!isset($_GET['activate']))
return;