WordPress 阿里云提示后台插件更新模块任意目录遍历导致DOS漏洞

阿里云后台和短信提示“WordPress后台插件更新模块任意目录遍历导致DOS漏洞”!

解决办法:

1、升级到最新 WordPress 4.6.1 版本


2、Wordpress 4.5.4 版本

打开WordPress后台文件/wp-admin/includes/ajax-actions.php,大概在3077行左右找到以下代码:
$plugin = urldecode( $_POST[‘plugin’] );
在这段代码后面(3078行)添加以下代码即可:
$plugin = plugin_basename( sanitize_text_field( wp_unslash( $_POST[‘plugin’] ) ) );


3、Wordpress 4.5.4 版本以下

WordPress 4.5.4版本以下的,除了要按照WordPress 4.5.4版本的办法修复之外,还需要继续进行以下两个步骤的操作

1)在/wp-admin/includes/ajax-actions.php文件中搜索找以下代码:

if ( $plugin_update_data === true ) {

wp_send_json_error( $status );

}

直接修改为:

if ( $plugin_update_data === true ) {

$status[‘error’] = __( ‘Plugin update failed.’ );

wp_send_json_error( $status );

}

2)在/wp-admin/includes/ajax-actions.php文件中搜索找以下代码:

if ( is_wp_error( $wp_filesystem->errors ) && $wp_filesystem->errors->get_error_code() ) {

$status[‘error’] = $wp_filesystem->errors->get_error_message();

}

wp_send_json_error( $status );

}

}

直接修改为:

if ( is_wp_error( $wp_filesystem->errors ) && $wp_filesystem->errors->get_error_code() ) {

$status[‘error’] = $wp_filesystem->errors->get_error_message();

}

wp_send_json_error( $status );

} else {

// An unhandled error occured

$status[‘error’] = __( ‘Plugin update failed.’ );

wp_send_json_error( $status );

}

}

相关文章