一聚教程网:一个值得你收藏的教程网站

热门教程

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

时间:2022-06-25 18:35:43 编辑:袖梨 来源:一聚教程网

漏洞应该是在9月份左右爆出,很忙一直没管。从一开始到最近,阿里云后台总是提示“WordPress后台插件更新模块任意目录遍历导致DOS漏洞”,对于有点强迫症的档主而言是无法忍受的,由于并没有购买阿里云的安骑士功能自动修复,外加没空,一直屯留至今。

闲下来的空余时间,百度到了相关解决办法,顺手解决并记录做个备份。

漏洞名称:wordpress后台插件更新模块任意目录遍历导致DOS漏洞
补丁编号:7935230
补丁文件:wp-admin/includes/ajax-actions.php
补丁来源:云盾自研
更新时间:2016-09-15 11:44:46
漏洞描述:wordpress后台文件/wp-admin/includes/ajax-actions.php中,对代码插件路径的输入参数plugin未进行正确的规范化转义,导致黑客可传入特殊路径,造成拒绝服务。【注意:该补丁为云盾自研代码修复方案,云盾会根据您当前代码是否符合云盾自研的修复模式进行检测,如果您自行采取了底层/框架统一修复、或者使用了其他的修复方案,可能会导致您虽然已经修复了改漏洞,云盾依然报告存在漏洞,遇到该情况可选择忽略该漏洞提示】
手动修复WordPress后台插件更新模块任意目录遍历导致DOS漏洞的方案,我们大概可以分为以下三个WordPress版本:

一、WordPress 4.6.1版本

根据boke112的亲自验证,只需要将WordPress升级到4.6.1就可以灭掉这个WordPress后台插件更新模块任意目录遍历导致DOS漏洞,所以强烈建议直接将WordPress升级到4.6.1版本。

二、WordPress 4.5.4版本

修复步骤:

在文件ajax-actions.php的3068行附近:

$plugin = urldecode( $_POST['plugin'] );

在这段代码后面加上:

$plugin = plugin_basename( sanitize_text_field( wp_unslash( $_POST['plugin'] ) ) );

至此,修改保存上传覆盖后即可成功修复WordPress 4.5.4版本的WordPress后台插件更新模块任意目录遍历导致DOS漏洞。

三、WordPress 4.5.4版本以下

WordPress 4.5.4版本以下的,除了要按照WordPress 4.5.4版本的办法修复之外,还需要继续进行以下两个步骤的操作(PS:如果某版本的以下2点中的代码已经跟修复后一样的就不用修改了):

1.在文件ajax-action.php中大概3004行:

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.找到大概3025行:

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 );
}
}

修改保存后,wordpress后台插件更新模块任意目录遍历导致DOS漏洞就修复好了!

热门栏目