高危漏洞预警:WordPress Core 多个高危漏洞

妩媚的悟空
 妩媚的悟空
发布于 2017年05月04日
收藏 0

近期wordpress曝出了多个高危漏洞,漏洞不需要任何的验证和插件,在默认的配置情况下就可以利用。远程攻击者可以利用该漏洞执行代码。由于该漏洞影响比较大,通过和官方协商,决定推迟更新wordpress漏洞细节。

漏洞编号:CVE-2016-10033

漏洞发现者:dawid_golunski

漏洞危害:严重

影响版本:4.6

漏洞描述:远程攻击者可以利用该漏洞执行代码

官方宣称已经在4.7.1版本修复该问题,建议是升级到最新版本。

但是,不幸的是,最新版发现了一个更加严重的高危漏洞,如下:

漏洞编号:CVE-2017-8295

漏洞发现者:dawid_golunski

漏洞危害:中/高

影响版本:WordPress Core <= 4.7.4

漏洞描述:

Wordpress的密码重置功能,其中存在漏洞在某些情况下可能允许攻击者在未经身份验证的情况下获取密码重置链接。这种攻击可导致攻击者获得未经授权的WordPress帐户访问权限。

建议使用wordpress的用户关注官方最新版本,及时更新升级。

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:高危漏洞预警:WordPress Core 多个高危漏洞
加载中

精彩评论

开源中国首席屌炸天
开源中国首席屌炸天

引用来自“eechen”的评论

WordPress重置密码的链接应该是通过PHPMailer这个库发送到用户的邮箱.
攻击者在未经身份验证的情况下获取密码重置链接,
难道WordPress在处理"找回密码"的页面泄露了"重置密码"的链接?
这也粗心大意了吧.

<?php
define('IO_ROOT', __DIR__); // 定义入口常量
require IO_ROOT.'/include/common.php'; // 加载公共控制器

switch($_GET['action']) {
  // 找回密码 /user.php?action=recover
  case 'recover': {
    // 处理AJAX表单
    if(isset($_POST['action']) && $_POST['action'] === 'recover') {
      // 根据输入的邮件生成一个用于重置密码的随机唯一token(含有效期)并记录在数据库
      // 难道WordPress在这里把token给泄露了?
      echo json_encode($data);
      exit();
    }
    // 显示HTML表单
    $view = io_render('recover.php');
    echo $view;
    exit();
  }
  // 重置密码 /user.php?action=reset&id={$user_id}&token={$sha1}
  case 'reset': {
    if(isset($_POST['action']) && $_POST['action'] === 'reset') {
      // 根据user_id验证token,通过后重置用户密码为新密码,并清除token.
      echo json_encode($data);
      exit();
    }
    // 显示修改密码的表单
    $view = io_render('reset.php');
    echo $view;
    exit();
  }
  
  default: {
    header('Location: '.$io['base_url'].'/user.php?action=login');
    exit();
  }
}
少吹逼,你这个c扩展模块都不会写,PHP离开cms都不知道怎么搭网站,学了多少年了PHP还和前端业务逻辑揉在一起,终于学会几个初级SQL的家伙. via 1231
xiaobo_l
xiaobo_l

引用来自“eechen”的评论

WordPress重置密码的链接应该是通过PHPMailer这个库发送到用户的邮箱.
攻击者在未经身份验证的情况下获取密码重置链接,
难道WordPress在处理"找回密码"的页面泄露了"重置密码"的链接?
这也粗心大意了吧.

<?php
define('IO_ROOT', __DIR__); // 定义入口常量
require IO_ROOT.'/include/common.php'; // 加载公共控制器

switch($_GET['action']) {
  // 找回密码 /user.php?action=recover
  case 'recover': {
    // 处理AJAX表单
    if(isset($_POST['action']) && $_POST['action'] === 'recover') {
      // 根据输入的邮件生成一个用于重置密码的随机唯一token(含有效期)并记录在数据库
      // 难道WordPress在这里把token给泄露了?
      echo json_encode($data);
      exit();
    }
    // 显示HTML表单
    $view = io_render('recover.php');
    echo $view;
    exit();
  }
  // 重置密码 /user.php?action=reset&id={$user_id}&token={$sha1}
  case 'reset': {
    if(isset($_POST['action']) && $_POST['action'] === 'reset') {
      // 根据user_id验证token,通过后重置用户密码为新密码,并清除token.
      echo json_encode($data);
      exit();
    }
    // 显示修改密码的表单
    $view = io_render('reset.php');
    echo $view;
    exit();
  }
  
  default: {
    header('Location: '.$io['base_url'].'/user.php?action=login');
    exit();
  }
}

引用来自“就是不服气”的评论

eechen你跟那个屌炸天啥情况,这个好像是机器人一直喷你啊
因为eechen就是个傻逼
eechen
eechen
WordPress重置密码的链接应该是通过PHPMailer这个库发送到用户的邮箱.
攻击者在未经身份验证的情况下获取密码重置链接,
难道WordPress在处理"找回密码"的页面泄露了"重置密码"的链接?
这也粗心大意了吧.

<?php
define('IO_ROOT', __DIR__); // 定义入口常量
require IO_ROOT.'/include/common.php'; // 加载公共控制器

switch($_GET['action']) {
  // 找回密码 /user.php?action=recover
  case 'recover': {
    // 处理AJAX表单
    if(isset($_POST['action']) && $_POST['action'] === 'recover') {
      // 根据输入的邮件生成一个用于重置密码的随机唯一token(含有效期)并记录在数据库
      // 难道WordPress在这里把token给泄露了?
      echo json_encode($data);
      exit();
    }
    // 显示HTML表单
    $view = io_render('recover.php');
    echo $view;
    exit();
  }
  // 重置密码 /user.php?action=reset&id={$user_id}&token={$sha1}
  case 'reset': {
    if(isset($_POST['action']) && $_POST['action'] === 'reset') {
      // 根据user_id验证token,通过后重置用户密码为新密码,并清除token.
      echo json_encode($data);
      exit();
    }
    // 显示修改密码的表单
    $view = io_render('reset.php');
    echo $view;
    exit();
  }
  
  default: {
    header('Location: '.$io['base_url'].'/user.php?action=login');
    exit();
  }
}

最新评论(6

xiaobo_l
xiaobo_l

引用来自“eechen”的评论

WordPress重置密码的链接应该是通过PHPMailer这个库发送到用户的邮箱.
攻击者在未经身份验证的情况下获取密码重置链接,
难道WordPress在处理"找回密码"的页面泄露了"重置密码"的链接?
这也粗心大意了吧.

<?php
define('IO_ROOT', __DIR__); // 定义入口常量
require IO_ROOT.'/include/common.php'; // 加载公共控制器

switch($_GET['action']) {
  // 找回密码 /user.php?action=recover
  case 'recover': {
    // 处理AJAX表单
    if(isset($_POST['action']) && $_POST['action'] === 'recover') {
      // 根据输入的邮件生成一个用于重置密码的随机唯一token(含有效期)并记录在数据库
      // 难道WordPress在这里把token给泄露了?
      echo json_encode($data);
      exit();
    }
    // 显示HTML表单
    $view = io_render('recover.php');
    echo $view;
    exit();
  }
  // 重置密码 /user.php?action=reset&id={$user_id}&token={$sha1}
  case 'reset': {
    if(isset($_POST['action']) && $_POST['action'] === 'reset') {
      // 根据user_id验证token,通过后重置用户密码为新密码,并清除token.
      echo json_encode($data);
      exit();
    }
    // 显示修改密码的表单
    $view = io_render('reset.php');
    echo $view;
    exit();
  }
  
  default: {
    header('Location: '.$io['base_url'].'/user.php?action=login');
    exit();
  }
}

引用来自“就是不服气”的评论

eechen你跟那个屌炸天啥情况,这个好像是机器人一直喷你啊
因为eechen就是个傻逼
就是不服气
就是不服气

引用来自“eechen”的评论

WordPress重置密码的链接应该是通过PHPMailer这个库发送到用户的邮箱.
攻击者在未经身份验证的情况下获取密码重置链接,
难道WordPress在处理"找回密码"的页面泄露了"重置密码"的链接?
这也粗心大意了吧.

<?php
define('IO_ROOT', __DIR__); // 定义入口常量
require IO_ROOT.'/include/common.php'; // 加载公共控制器

switch($_GET['action']) {
  // 找回密码 /user.php?action=recover
  case 'recover': {
    // 处理AJAX表单
    if(isset($_POST['action']) && $_POST['action'] === 'recover') {
      // 根据输入的邮件生成一个用于重置密码的随机唯一token(含有效期)并记录在数据库
      // 难道WordPress在这里把token给泄露了?
      echo json_encode($data);
      exit();
    }
    // 显示HTML表单
    $view = io_render('recover.php');
    echo $view;
    exit();
  }
  // 重置密码 /user.php?action=reset&id={$user_id}&token={$sha1}
  case 'reset': {
    if(isset($_POST['action']) && $_POST['action'] === 'reset') {
      // 根据user_id验证token,通过后重置用户密码为新密码,并清除token.
      echo json_encode($data);
      exit();
    }
    // 显示修改密码的表单
    $view = io_render('reset.php');
    echo $view;
    exit();
  }
  
  default: {
    header('Location: '.$io['base_url'].'/user.php?action=login');
    exit();
  }
}
eechen你跟那个屌炸天啥情况,这个好像是机器人一直喷你啊
开源中国首席屌炸天
开源中国首席屌炸天

引用来自“eechen”的评论

WordPress重置密码的链接应该是通过PHPMailer这个库发送到用户的邮箱.
攻击者在未经身份验证的情况下获取密码重置链接,
难道WordPress在处理"找回密码"的页面泄露了"重置密码"的链接?
这也粗心大意了吧.

<?php
define('IO_ROOT', __DIR__); // 定义入口常量
require IO_ROOT.'/include/common.php'; // 加载公共控制器

switch($_GET['action']) {
  // 找回密码 /user.php?action=recover
  case 'recover': {
    // 处理AJAX表单
    if(isset($_POST['action']) && $_POST['action'] === 'recover') {
      // 根据输入的邮件生成一个用于重置密码的随机唯一token(含有效期)并记录在数据库
      // 难道WordPress在这里把token给泄露了?
      echo json_encode($data);
      exit();
    }
    // 显示HTML表单
    $view = io_render('recover.php');
    echo $view;
    exit();
  }
  // 重置密码 /user.php?action=reset&id={$user_id}&token={$sha1}
  case 'reset': {
    if(isset($_POST['action']) && $_POST['action'] === 'reset') {
      // 根据user_id验证token,通过后重置用户密码为新密码,并清除token.
      echo json_encode($data);
      exit();
    }
    // 显示修改密码的表单
    $view = io_render('reset.php');
    echo $view;
    exit();
  }
  
  default: {
    header('Location: '.$io['base_url'].'/user.php?action=login');
    exit();
  }
}
少吹逼,你这个c扩展模块都不会写,PHP离开cms都不知道怎么搭网站,学了多少年了PHP还和前端业务逻辑揉在一起,终于学会几个初级SQL的家伙. via 1231
eechen
eechen
WordPress重置密码的链接应该是通过PHPMailer这个库发送到用户的邮箱.
攻击者在未经身份验证的情况下获取密码重置链接,
难道WordPress在处理"找回密码"的页面泄露了"重置密码"的链接?
这也粗心大意了吧.

<?php
define('IO_ROOT', __DIR__); // 定义入口常量
require IO_ROOT.'/include/common.php'; // 加载公共控制器

switch($_GET['action']) {
  // 找回密码 /user.php?action=recover
  case 'recover': {
    // 处理AJAX表单
    if(isset($_POST['action']) && $_POST['action'] === 'recover') {
      // 根据输入的邮件生成一个用于重置密码的随机唯一token(含有效期)并记录在数据库
      // 难道WordPress在这里把token给泄露了?
      echo json_encode($data);
      exit();
    }
    // 显示HTML表单
    $view = io_render('recover.php');
    echo $view;
    exit();
  }
  // 重置密码 /user.php?action=reset&id={$user_id}&token={$sha1}
  case 'reset': {
    if(isset($_POST['action']) && $_POST['action'] === 'reset') {
      // 根据user_id验证token,通过后重置用户密码为新密码,并清除token.
      echo json_encode($data);
      exit();
    }
    // 显示修改密码的表单
    $view = io_render('reset.php');
    echo $view;
    exit();
  }
  
  default: {
    header('Location: '.$io['base_url'].'/user.php?action=login');
    exit();
  }
}
f
flyfly
最新的就是4.7.4吧
采飞扬
采飞扬
【更新WordPress 4.6漏洞利用PoC】PHPMailer曝远程代码执行高危漏洞(CVE-2016-10033)
http://www.freebuf.com/news/123945.html
返回顶部
顶部