
인증된 원격 코드 실행 취약점 익스플로잇으로, WordPress Elementor 플러그인(3.6.0-3.6.2)에서 임의의 PHP 파일 업로드를 통해 실행됩니다. nonce 검색 및 ZIP 페이로드 패키징을 포함하여 침투 테스트에 사용됩니다.
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가지가 필요합니다:
업로드하는 파일은 다음 구조를 가져야 합니다:
이 파일이 YOUR 페이로드가 됩니다(예: PHP 리버스 셸 또는 기타).
경고: 업로드한 가짜 플러그인은 Elementor에 의해 활성화되며, 이는 페이지를 방문할 때마다 페이로드가 트리거됨을 의미합니다.
예를 들어 오프라인 호스트에 연결을 시도하면 서비스 거부(Denial of Service)로 이어질 수 있습니다.
이를 방지하기 위해 페이로드를 활성화하는 변수를 사용하는 것이 좋습니다.
다음과 같은 방법입니다(실제 페이로드를 계속 실행하려면 anypage.php?activate=1을 방문하세요):
if (!isset($_GET['activate']))
return;