
Exploit para CVE-2022-1329 no WordPress Elementor 3.6.0-3.6.2 que permite execução remota de código autenticada por meio de upload malicioso de ZIP com payload 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
O plugin WordPress chamado Elementor (v. 3.6.0, 3.6.1, 3.6.2) possui uma vulnerabilidade que permite que qualquer usuário autenticado envie e execute qualquer arquivo PHP.
Essa vulnerabilidade, no OWASP TOP 10 2021, está posicionada em primeiro lugar (Controle de acesso quebrado)
O arquivo que contém essa vulnerabilidade é elementor/core/app/modules/onboarding/module.php
No final deste arquivo, você pode encontrar este código:
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();
}
} );
Este código é acionado sempre que QUALQUER conta de usuário acessa /wp-admin Para que isso funcione, precisamos dos 4 itens a seguir:
O arquivo que enviamos deve ter a seguinte estrutura:
Este arquivo será o SEU payload (por exemplo, um PHP Reverse Shell ou qualquer outra coisa) AVISO: O plugin falso que enviamos será ativado pelo Elementor, o que significa que toda vez que acessarmos qualquer página, ativaremos nosso payload. Por exemplo, se ele tentar se conectar a um servidor offline, isso pode levar a uma Negação de Serviço. Para evitar isso, recomendo usar uma variável para ativar o payload. Algo assim (acesse Anypage.php?activate=1 para prosseguir com o payload real):
if (!isset($_GET['activate']))
return;