腾讯云服务器优惠活动华纳云香港服务器

手动修复WordPress后台插件更新模块任意目录遍历导致DOS漏洞

WordPress主题推荐

最近阿里云后台总是提示“WordPress 后台插件更新模块任意目录遍历导致 DOS 漏洞”,对于有点强迫症的我们而言是无法忍受的,除了购买阿里云的安骑士自动修复之外,我们还是可以独自手动修复的。

手动修复WordPress后台插件更新模块任意目录遍历导致DOS漏洞-第1张-boke112百科(boke112.com)

开始介绍手动修复 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 行左右找到以下代码:

  1. $plugin = urldecode( $_POST[‘plugin’] );

然后在这段代码后面(2078 行)添加以下代码即可:

  1. $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 文件中搜索找以下代码:

  1. if ( $plugin_update_data === true ) {
  2.     wp_send_json_error( $status );
  3. }

直接修改为:

  1. if ( $plugin_update_data === true ) {
  2. $status[‘error’] = __( ‘Plugin update failed.’ );
  3. wp_send_json_error( $status );
  4. }

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

  1. if ( is_wp_error( $wp_filesystem->errors ) && $wp_filesystem->errors->get_error_code() ) {
  2.   $status[‘error’] = $wp_filesystem->errors->get_error_message();
  3.     }
  4. wp_send_json_error( $status );
  5.  }
  6. }

直接修改为:

  1. if ( is_wp_error( $wp_filesystem->errors ) && $wp_filesystem->errors->get_error_code() ) {
  2.      $status[‘error’] = $wp_filesystem->errors->get_error_message();
  3.    }
  4. wp_send_json_error( $status );
  5. else {
  6. // An unhandled error occured
  7. $status[‘error’] = __( ‘Plugin update failed.’ );
  8. wp_send_json_error( $status );
  9. }
  10. }

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

温馨提示:

WordPress 后台插件更新模块任意目录遍历导致 DOS 漏洞修复后,记得要登录阿里云后台对该漏洞进行处理操作哦,比如可以选择忽略漏洞等,要不然依然会提醒哦。

拓展阅读:

本文地址:https://boke112.com/post/3553.html

赞 (0) 打赏
版权声明:本文为原创文章,版权归 boke112百科 所有,欢迎分享本文,转载请保留出处!发布此文是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请联系我们,确认后马上更正或删除,谢谢!
wu