无标题文档
wdCP系统 (介绍,功能特性,运行环境,安装说明,演示,常见问题,使用教程) wdCDN系统 (介绍,功能特性,运行环境,安装说明,演示,常见问题,使用手册)
wdOS系统 (介绍,功能特性,运行环境,安装说明,演示,常见问题,使用教程) wdDNS系统 (介绍,功能特性,运行环境,安装说明,演示,常见问题,使用手册)
注册 发贴 提问 回复-必看必看 wddns免费智能 DNS 开通 本地或虚拟机使 用wdcp 一键包在mysql编 译时"卡住"
【300G高防】双线 无视攻击 wdcp官方技术支持/服务 阿里云8折优惠券 无敌云 腾讯云优惠中,现注册更有260代金额券赠送
返回列表 发帖
提问三步曲: 提问先看教程/FAQ索引(wdcp,wdcp_v3,一键包)及搜索,会让你更快解决问题
1 提供详细,如系统版本,wdcp版本,软件版本等及错误的详细信息,贴上论坛或截图发论坛
2 做过哪些操作或改动设置等

温馨提示:信息不详,很可能会没人理你!论坛有教程说明的,也可能没人理!因为,你懂的

[建议] 建议管理员在wdcp下把mysql版本升级到最新版本

mysql 5.1.61存在权限漏洞,建议管理员升级到最新版本

具体是哪个漏洞?有没地址发来看下
看清提问三步曲及多看教程/FAQ索引(wdcp,v3,一键包,wdOS),益处多多.wdcp工具集 阿里云主机8折优惠码

TOP

TOP

这个跟编译环境有关的
你下载一键包里的安装看看,有没这问题?
看清提问三步曲及多看教程/FAQ索引(wdcp,v3,一键包,wdOS),益处多多.wdcp工具集 阿里云主机8折优惠码

TOP

可以百度搜索:mysql身份认证漏洞

TOP

我今天早上打开电脑,在seclists中看到一个很惊人的thread:http://seclists.org/oss-sec/2012/q2/493MySQL爆出了一个很大的安全漏洞,几乎影响5.1至5.5的所有版本。出问题的模块是登录时密码校验的部分(password.c),在知道用户名的情况下(如root),直接反复重试(平均大约256次)即可登入。不过,MySQL身份认证的时候是采用3元组,username,ip,password。如果client的IP在mysql.user表中找不到对应的,也无法登陆。
这个BUG实际上早在4月份就被发现了,今年5月7号,MySQL发布5.5.24的时候,修正了这个BUG。
漏洞分析:
出问题的代码如下/*    Check that scrambled message corresponds to the password; the function    is used by server to check that recieved reply is authentic.    This function does not check lengths of given strings: message must be    null-terminated, reply and hash_stage2 must be at least SHA1_HASH_SIZE    long (if not, something fishy is going on).  SYNOPSIS    check_scramble()    scramble     clients' reply, presumably produced by scramble()    message      original random string, previously sent to client                 (presumably second argument of scramble()), must be                 exactly SCRAMBLE_LENGTH long and NULL-terminated.    hash_stage2  hex2octet-decoded database entry    All params are IN.  RETURN VALUE    0  password is correct    !0  password is invalid*/my_boolcheck_scramble(const uchar *scramble_arg, const char *message,               const uint8 *hash_stage2){  SHA1_CONTEXT sha1_context;  uint8 buf[SHA1_HASH_SIZE];  uint8 hash_stage2_reassured[SHA1_HASH_SIZE];  mysql_sha1_reset(&sha1_context);  /* create key to encrypt scramble */  mysql_sha1_input(&sha1_context, (const uint8 *) message, SCRAMBLE_LENGTH);  mysql_sha1_input(&sha1_context, hash_stage2, SHA1_HASH_SIZE);  mysql_sha1_result(&sha1_context, buf);  /* encrypt scramble */    my_crypt((char *) buf, buf, scramble_arg, SCRAMBLE_LENGTH);  /* now buf supposedly contains hash_stage1: so we can get hash_stage2 */  mysql_sha1_reset(&sha1_context);  mysql_sha1_input(&sha1_context, buf, SHA1_HASH_SIZE);  mysql_sha1_result(&sha1_context, hash_stage2_reassured);  return memcmp(hash_stage2, hash_stage2_reassured, SHA1_HASH_SIZE);}
memcmp的返回值实际上是int,而my_bool实际上是char。那么在把int转换成char的时候,就有可能发生截断。比如,memcmp返回0×200,截断后变成了0,调用check_scramble函数的就误以为“password is correct“。
但是一般来说,memcmp的返回值都在[127,-128]之内。glibc的经SSE优化后的代码,不是如此。所以这个BUG只在特定的编译环境下才会触发:即编译MySQL的时候加了-fno-builtin,并且所使用的glibc是经SSE优化后的(一般系统自带的都是如此)。这里所说的glibc是指Linux的glibc,FreeBSD的libc不受影响。
总的来说这个BUG还是比较严重的,上次MySQL出现这样的BUG还是在3.23/4.0时代。

原文链接: http://www.udpwork.com/redirect/7463
百度搜“上海千鸣网络”

TOP

返回列表