关联漏洞
标题:Elementor安全漏洞 (CVE-2022-1329)Description:Elementor是以色列Elementor公司的一个网站构建器,允许WordPress用户创建和编辑网站。 Elementor 版本 3.6.0 到 3.6.2存在安全漏洞,目前暂无该漏洞信息,请随时关注CNNVD或厂商公告。
介绍
# 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;
```
文件快照
[4.0K] /data/pocs/9c9ea0c579c521dba0e8db2f23a43aa99804bbc2
├── [5.9K] exploit.py
└── [3.1K] README.md
0 directories, 2 files
备注
1. 建议优先通过来源进行访问。
2. 如果因为来源失效或无法访问,请发送邮件到 f.jinxu#gmail.com 索取本地快照(把 # 换成 @)。
3. 神龙已为您对 POC 代码进行快照,为了长期维护,请考虑为本地 POC 付费/捐赠,感谢您的支持。