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

原创 2016-09-30 阅读 221 次 评论 16 条

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

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

  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漏洞修复后,记得要登录阿里云后台对该漏洞进行处理操作哦,比如可以选择忽略漏洞等,要不然依然会提醒哦。

拓展阅读:

历史上的今天:

本文地址:http://boke112.com/3553.html
关注我们:请关注一下我们的微信公众号:扫描二维码,公众号:aiboke112
版权声明:本文为原创文章,版权归  所有,欢迎分享本文,转载请保留出处!
WordPress免费响应式主题:Nana
CPA教学与引流技巧

发表评论

呲牙憨笑坏笑偷笑色微笑抓狂睡觉酷流汗鼓掌大哭可怜疑问晕惊讶得意尴尬发怒奋斗衰骷髅啤酒吃饭礼物强弱握手OKNO勾引拳头差劲爱你

表情

  1. BanYuner
    BanYuner 【村长】 @回复

    已经刚升级到了最新版本了 所以已经不用担心额

  2. 片段艺文志
    片段艺文志 【村长】 @回复

    阿里云提示有这个漏洞,这个教程正好用上!嘿嘿

  3. 明月登楼
    明月登楼 【总理】 @回复

    看来,升级到最新版本是很有必要的!

  4. 金榜台博客
    金榜台博客 【县长】 @回复

    每天来看看已经成为习惯了

  5. 时尚博客
    时尚博客 【村长】 @回复

    每天过来看看,都能学到不少的东西,风起云起,希望大神也要注意身体哦 !

    • boke112导航
      boke112导航【站长】 @回复

      @时尚博客 [流汗] 同样的评论内容,贵站已经重复使用多次,希望不要再发这种垃圾评论哦,要不然就要进入黑名单了。

      • 龙砚庭博客
        龙砚庭博客 【市长】 @回复

        @boke112导航 [偷笑] 老古,本来不想打击你,很多引流的垃圾评论是不看文章内容的。甚至连网站都不用打开,只需要一个脚本就能刷得很带劲。

        • boke112导航
          boke112导航【站长】

          @龙砚庭博客 所以对于不是十分想垃圾评论的,都不太理会,不过偶尔也会手动清理删除一下个人认为是垃圾的评论

  6. 优商网
    优商网 【队长】 @回复

    路过看看,虽然不懂呵呵

  7. 爱时尚
    爱时尚 【市长】 @回复

    反正也没人攻击 [偷笑]

  8. 龙砚庭博客
    龙砚庭博客 【市长】 @回复

    直接升级就好了。现在的服务器都够用了。老版本有时候问题多。

  9. Koolight
    Koolight 【省长】 @回复

    漏洞与修补齐飞,宕机和警报一色。