Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2022-1329 PoC — Elementor Website Builder 3.6.0 - 3.6.2 - Missing Authorization to Remote Code Execution

Source
Associated Vulnerability
Title: Elementor Website Builder 3.6.0 - 3.6.2 - Missing Authorization to Remote Code Execution (CVE-2022-1329)
Description:The Elementor Website Builder plugin for WordPress is vulnerable to unauthorized execution of several AJAX actions due to a missing capability check in the ~/core/app/modules/onboarding/module.php file that make it possible for attackers to modify site data in addition to uploading malicious files that can be used to obtain remote code execution, in versions 3.6.0 to 3.6.2.
Readme
# WordPress Plugin - Elementor 3.6.0 3.6.1 3.6.2 Thực thi mã từ xa

```

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
```

## MÔ TẢ LỖI

Plugin WordPress có tên Elementor (v. 3.6.0, 3.6.1, 3.6.2) có một lỗ hổng cho phép bất kỳ người dùng được xác thực nào tải lên và thực thi bất kỳ tệp PHP nào.

Lỗ hổng này, trong OWASP TOP 10 2021, được đặt ở vị trí số 1 (Kiểm soát truy cập bị hỏng)

Tệp chứa lỗ hổng này là elementor/core/app/modules/onboarding/module.php

Ở cuối tập tin này, bạn có thể tìm thấy mã này:
```
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();
  }
  } );
```

Mã này được kích hoạt bất cứ khi nào BẤT KỲ tài khoản người dùng nào truy cập /wp-admin
Để làm việc chúng ta cần 4 điều sau:

1. Cuộc gọi phải là "cuộc gọi ajax" (wp_doing_ajax()) và phương thức phải là POST. Để thực hiện việc này, chúng ta chỉ cần gọi /wp-admin/admin-ajax.php
2. Tham số "action" phải là "elementor_upload_and_install_pro" (xem hàm có tên Maybe_handle_ajax() trong cùng một tệp)
3. Tham số "_nonce" phải được truy xuất sau khi đăng nhập bằng cách kiểm tra trang /wp-admin (lỗi khai thác này thực hiện điều này trong chức năng DoLogin)
4. Tham số "fileToUpload" phải chứa kho lưu trữ ZIP mà chúng tôi muốn tải lên (xem hàm có tên upload_and_install_pro() trong cùng một tệp)

Tệp chúng tôi tải lên phải có cấu trúc sau:

1. Nó phải là tệp ZIP. Bạn có thể đặt tên nó theo ý muốn.
2. Nó phải chứa một thư mục có tên "elementor-pro"
3. Thư mục này phải chứa file có tên "elementor-pro.php"

Tệp này sẽ là tải trọng CỦA BẠN (ví dụ: PHP Reverse Shell hoặc bất kỳ thứ gì khác)
CẢNH BÁO: Plugin giả mạo mà chúng tôi tải lên sẽ được Elementor kích hoạt, điều này có nghĩa là mỗi lần chúng tôi truy cập bất kỳ trang nào, chúng tôi sẽ kích hoạt tải trọng của mình.
Ví dụ: nếu nó cố gắng kết nối với máy chủ ngoại tuyến, điều đó có thể dẫn đến Từ chối Dịch vụ.
Để ngăn chặn điều này, tôi khuyên bạn nên sử dụng một số biến để kích hoạt tải trọng.
Một cái gì đó như thế này (truy cập Anypage.php?activate=1 để tiếp tục với tải trọng thực tế):

```
if (!isset($_GET['activate']))
return;
```
File Snapshot

Log in to view the POC file snapshot cached by Shenlong Bot

Log in to view
Remarks
    1. It is advised to access via the original source first.
    2. Local POC snapshots are reserved for subscribers — if the original source is unavailable, the local mirror is part of the paid plan.
    3. Mirroring, verifying, and maintaining this POC archive takes ongoing effort, so local snapshots are a paid feature. Your subscription keeps the archive online — thank you for the support. View subscription plans →