用心做分享,只為給您最好的學習教程
如果您覺得文章不錯,歡迎持續(xù)學習
近期,黑客頻繁利用WordPress插件中的關鍵漏洞,從而控制數百萬個網站。
該漏洞的嚴重性評級為8.8(滿分為10),存在于Elementor Pro中。高級插件 在超過1200萬個由WordPress內容管理系統(tǒng)的網站上運行。
Elementor Pro允許用戶使用各種工具創(chuàng)建高質量的網站,其中之一是WooCommerce,一個單獨的WordPress插件。該漏洞使得,任何在站點上擁有帳戶的人(例如訂閱者或客戶)都可以創(chuàng)建具有完全管理員權限的新帳戶。
該漏洞是由安全公司NinTechNet的研究員杰羅姆Bruandet發(fā)現的。上周,Elementor Pro插件的開發(fā)商Elementor 釋放 版本3.11.7,修補了該漏洞。Bruandet寫道:經過身份驗證的攻擊者可以利用該漏洞,通過啟用注冊(users_can_register )并將默認角色( default_role )設置為“administrator”來創(chuàng)建管理員帳戶,更改管理員電子郵件地址( 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帖子中列出的感染跡象,如果有任何跡象證明被更改或者入侵,請及時處理。
本文僅作技術分享 切勿用于非法途徑如果您對文中的軟件或者技術感興趣歡迎交流