WordPress 后台插件更新模块任意目录遍历导致DOS漏洞和IP验证不当漏洞

本文转自IT摆渡网欢迎转载,请标明出处。
摆渡网

更多文章请阅读

wordpress网站网页BUG调试修复

  最近倡萌频繁收到阿里云的两个漏洞提示,相信很多使用阿里云服务器的朋友也会收到:

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

  WordPress IP验证不当漏洞

  修复这两个漏洞的最直接的办法就是马上升级到 WordPress 4.6.1 版本即可!

  下面还是简单说说这两个漏洞,以及不升级4.6.1时应该如何手动修复。

  漏洞1:WordPress 后台插件更新模块任意目录遍历导致DOS漏洞

  描述

  wordpress后台文件/wp-admin/includes/ajax-actions.php中,对代码插件路径的输入参数plugin未进行正确的规范化转义,导致黑客可传入特殊路径,造成拒绝服务。

  修复方法

  wordpress 4.5.4版本:

  打开WordPress后台文件/wp-admin/includes/ajax-actions.php,大概在3077行左右找到以下代码:

$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、在/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 );
}

  在/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漏洞。

  漏洞2:WordPress IP验证不当漏洞

  描述

  wordpress /wp-includes/http.php文件中的wp_http_validate_url函数对输入IP验证不当,导致黑客可构造类似于012.10.10.10这样的畸形IP绕过验证,进行SSRF

  修复方法

  找到/wp-includes/http.php这个文件,大概在文件465行:

$same_host = strtolower( $parsed_home['host'] ) === strtolower( $parsed_url['host'] );

  修改为:

  修改保存上传覆盖后即可成功修复IP验证不当漏洞。

  特别提示

  修复后,一定要到阿里云后台“重新验证”或“忽略”漏洞,否则还是会一直发送信息的!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值