用心做分享,只为给您最好的学习教程
如果您觉得文章不错,欢迎持续学习
添加图片注释,不超过 140 字(可选)近期,黑客频繁利用WordPress插件中的关键漏洞,从而控制数百万个网站。
该漏洞的严重性评级为8.8(满分为10),存在于Elementor Pro中。高级插件 在超过1200万个由WordPress内容管理系统的网站上运行。
Elementor Pro允许用户使用各种工具创建高质量的网站,其中之一是WooCommerce,一个单独的WordPress插件。该漏洞使得,任何在站点上拥有帐户的人(例如订阅者或客户)都可以创建具有完全管理员权限的新帐户。
该漏洞是由安全公司NinTechNet的研究员杰罗姆Bruandet发现的。上周,Elementor Pro插件的开发商Elementor 释放 版本3.11.7,修补了该漏洞。Bruandet写道:经过身份验证的攻击者可以利用该漏洞,通过启用注册(users_can_register )并将默认角色( default_role )设置为“administrator”来创建管理员帐户,更改管理员电子邮件地址( admin_email ),或者如下所示,通过更改siteurl 在许多其他可能性中:
MariaDB [example]> SELECT * FROM `wp_options` WHERE `option_name`='siteurl';
+-----------+-------------+------------------+----------+
| option_id | option_name | option_value | autoload |
+-----------+-------------+------------------+----------+
| 1 | siteurl | https://evil.com | yes |
+-----------+-------------+------------------+----------+
1 row in set (0.001 sec)
现在,一家独立的安全公司PatchStack的研究人员报告该漏洞正在被积极利用。攻击来自各种IP地址,包括:
193.169.194.63
193.169.195.64
194.135.30.6
……
上传到受感染站点的文件通常具有以下名称:
wp-resortpack.zip
wp-rate.php
lll.zip
被入侵网站的URL经常被更改为:
这个被破坏的访问控制漏洞源于Elementor Pro使用了“elementor-pro/modules/woocommerce/module.php”组件。当WooCommerce运行时,此脚本注册以下AJAX操作:
/** * Register Ajax Actions. * * Registers ajax action used by the Editor js. * * @since 3.5.0 * * @param Ajax $ajax */public function register_ajax_actions( Ajax $ajax ) { // `woocommerce_update_page_option` is called in the editor save-show-modal.js. $ajax->register_ajax_action( 'pro_woocommerce_update_page_option', [ $this, 'update_page_option' ] ); $ajax->register_ajax_action( 'pro_woocommerce_mock_notices', [ $this, 'woocommerce_mock_notices' ] );}
and
/** * Update Page Option. * * Ajax action can be used to update any WooCommerce option. * * @since 3.5.0 * * @param array $data */public function update_page_option( $data ) { update_option( $data['option_name'], $data['editor_post_id'] );}
update_option函数“应该允许管理员或商店经理更新一些特定的WooCommerce选项,但用户输入没有经过验证,并且该函数缺乏功能检查,只能将其访问限制为高权限用户,”Bruandet解释说。他接着说:Elementor使用自己的阿贾克斯处理程序来管理其大部分AJAX操作,包括 pro_woocommerce_update_page_option ,与全局 elementor_ajax 行动。它位于免费版本的“elementor/core/common/modules/ajax/module.php”脚本中(运行Elementor Pro需要该脚本):
/** * Handle ajax request. * * Verify ajax nonce, and run all the registered actions for this request. * * Fired by `wp_ajax_elementor_ajax` action. * * @since 2.0.0 * @access public */public function handle_ajax_request() { if ( ! $this->verify_request_nonce() ) { $this->add_response_data( false, esc_html__( 'Token Expired.', 'elementor' ) ) ->send_error( Exceptions::UNAUTHORIZED ); }
...
最后,请所有正在使用Elementor Pro的管理员,请确保运行的是3.11.7或更高版本,避免受到此次攻击。同时,检查网站是否有上述PatchStack帖子中列出的感染迹象,如果有任何迹象证明被更改或者入侵,请及时处理。
本文仅作技术分享 切勿用于非法途径如果您对文中的软件或者技术感兴趣欢迎交流