最近阿里云后台总是提示“WordPress 后台插件更新模块任意目录遍历导致 DOS 漏洞”,对于有点强迫症的我们而言是无法忍受的,除了购买阿里云的安骑士自动修复之外,我们还是可以独自手动修复的。
开始介绍手动修复 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版本
我们只需要将打开 WordPress 后台文件/wp-admin/includes/ajax-actions.php,大概在 3077 行左右找到以下代码:
- $plugin = urldecode( $_POST[‘plugin’] );
然后在这段代码后面(2078 行)添加以下代码即可:
- $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、在/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 );
- }
- }
至此,修改保存上传覆盖后即可成功修复 WordPress 4.5.4 版本以下的 WordPress 后台插件更新模块任意目录遍历导致 DOS 漏洞。
温馨提示:
WordPress 后台插件更新模块任意目录遍历导致 DOS 漏洞修复后,记得要登录阿里云后台对该漏洞进行处理操作哦,比如可以选择忽略漏洞等,要不然依然会提醒哦。