WordPress 企业主题后台插件更新模块导致DOS漏洞和IP验证不当漏洞

相信很多使用阿里云服务器的朋友也会收到:

  1. WordPress 企业主题后台插件更新模块任意目录遍历导致DOS漏洞
  2. WordPress 企业主题IP验证不当漏洞

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

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

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

描述

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

修复方法

wordpress 5.2版本:

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

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

在它的下面添加一行:

  1. $plugin = plugin_basename( sanitize_text_field( wp_unslash( $_POST[‘plugin’] ) ) );

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

wordpress 5.2版本以下:

WordPress 5.2版本以下的,除了要按照WordPress 5.2版本的办法修复之外,还需要继续进行以下两个步骤的操作(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. }

在/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 5.2版本以下的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行:

  1. $same_host = strtolower$parsed_home[‘host’] ) === strtolower$parsed_url[‘host’] );

修改为:

  1. if ( isset( $parsed_home[‘host’] ) ) {
  2.     $same_host = ( strtolower$parsed_home[‘host’] ) === strtolower$parsed_url[‘host’] ) || ‘localhost’ === strtolower$parsed_url[‘host’] ) );
  3. else {
  4.     $same_host = false;
  5. }

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

特别提示

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

给TA打赏
共{{data.count}}人
人已打赏
WP实用教程

WordPress科技企业主题如何利用纯代码方式让文章自动提交熊掌号教程

2019-5-24 12:06:51

WP实用教程

WordPress 企业主题无法建立到WordPress.org的安全连接

2019-6-8 15:12:09


版权免责声明

本资源仅用于个人学习测试使用,禁止用于任何商业环境,请于下载后24小时内 删除本资源!

本文所有相关技术/资源内容统一放在下载包里

  1. 1、本网站名称:指点聚源码
  2. 2、本站永久网址:https://www.zhidianju.com
  3. 3、站内所有资源均可通过日常签到等任务进行免费兑换,记得每日来本站签到哦~!(由于模板不是很完善签到 需刷新一下!)。
  4. 4、如果您觉得本站有帮助到您,也想给本站一些帮助。您可以再下方打赏本站。
  5. 5、如果你也有好源码或者教程,可以到审核区发布,分享有金币奖励和额外收入!
  6. 6、本站资源来源于互联网收集/个人购买,如有侵犯到您的权益,请查看【版权声明】
  7. 7、本站提供的所有资源均来自互联网搜索,站内资源为网友个人学习或测试研究使用,未经原版权作者许可,禁 止用于任何商业环境,任何人不得擅作它用,否则后果自负!请在下载24小时内删除!为尊重作者版权,请购买原版作品,支 持你喜欢的作者,谢谢!
  8. 8、本站资源大多存储在云盘,如发现链接失效 【链接失效】 我们会第一时间更新。本站提供的源码、模板、软件工具等其他资源, 都不包含技术服务 请大家谅解!
  9. 9、如遇到加密压缩包,默认解压密码为"www.zhidianju.com",如遇到无法解压的请联系管理员!
  10. 10、本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索