
针对CVE-2022-1329在WordPress Elementor 3.6.0-3.6.2中的漏洞利用,允许经过身份验证的远程代码执行,通过上传包含PHP有效载荷的恶意ZIP文件。
日期: 2023年4月16日
漏洞利用作者: Việt Hùng (https://github.com/phanthibichtram12)
供应商主页: https://elementor.com/
软件链接: https://wordpress.org/plugins/elementor/advanced/ (向下滚动选择版本)
版本: 3.6.0, 3.6.1, 3.62
测试环境: WordPress 5.9.3 (不依赖操作系统,因为此漏洞利用不提供有效载荷)
CVE : CVE-2022-1329
名为Elementor的WordPress插件 (v. 3.6.0, 3.6.1, 3.6.2) 存在一个漏洞,允许任何经过身份验证的用户上传并执行任意PHP文件。
此漏洞在OWASP TOP 10 2021中排名第一(访问控制失效)
包含此漏洞的文件是 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点:
我们上传的文件必须具有以下结构:
该文件将是你的有效载荷(例如,PHP反向Shell或任何其他内容) 警告:我们上传的虚假插件将被Elementor激活,这意味着每次我们访问任何页面时,都会触发我们的有效载荷。 例如:如果它试图连接到离线服务器,可能导致拒绝服务。 为防止这种情况,我建议使用某些变量来触发有效载荷。 类似这样(访问 Anypage.php?activate=1 以继续执行实际的有效载荷):
if (!isset($_GET['activate']))
return;