
Exploit pour CVE-2022-1329 dans WordPress Elementor 3.6.0-3.6.2 permettant l'exécution de code à distance authentifiée via un téléchargement malveillant de ZIP avec une charge utile PHP.
Ngày: 16 tháng 4 năm 2023
Khai thác Tác giả: Việt Hùng (https://github.com/phanthibichtram12)
Trang chủ của nhà cung cấp: https://elementor.com/
Link phần mềm: https://wordpress.org/plugins/elementor/advanced/ (kéo xuống chọn phiên bản)
Phiên bản: 3.6.0, 3.6.1, 3.62
Đã thử nghiệm trên: WordPress 5.9.3 (không phụ thuộc vào hệ điều hành vì cách khai thác này KHÔNG cung cấp tải trọng)
CVE : CVE-2022-1329
Le plugin WordPress Elementor (v. 3.6.0, 3.6.1, 3.6.2) présente une vulnérabilité permettant à tout utilisateur authentifié de télécharger et d'exécuter n'importe quel fichier PHP.
Cette vulnérabilité, dans l'OWASP TOP 10 2021, se classe au numéro 1 (Contrôle d'accès défaillant)
Le fichier contenant cette vulnérabilité est elementor/core/app/modules/onboarding/module.php
À la fin de ce fichier, vous pouvez trouver ce code :
add_action( 'admin_init', function() {
nếu ( wp_doing_ajax() &&
isset( $_POST['action'] ) &&
isset( $_POST['_nonce'] ) &&
wp_verify_nonce( $_POST['_nonce'], Ajax::NONCE_KEY )
) {
$this->maybe_handle_ajax();
}
} );
Ce code est déclenché chaque fois que N'IMPORTE QUEL compte utilisateur accède à /wp-admin Pour que cela fonctionne, nous avons besoin de 4 choses :
Le fichier que nous téléchargeons doit avoir la structure suivante :
Ce fichier sera VOTRE payload (par exemple, un reverse shell PHP ou autre) ATTENTION : Le plugin factice que nous téléchargeons sera activé par Elementor, ce qui signifie qu'à chaque fois que nous accédons à une page, nous déclenchons notre payload. Par exemple, s'il tente de se connecter à un serveur hors ligne, cela peut entraîner un déni de service. Pour éviter cela, je recommande d'utiliser une variable pour activer le payload. Quelque chose comme ceci (accédez à Anypage.php?activate=1 pour procéder au payload réel) :
if (!isset($_GET['activate']))
return;