MySQL曝中间人攻击Riddle漏洞,可致用户名密码泄露

针对MySQL 5.5和5.6版本的Riddle漏洞会经由中间人攻击泄露用户名密码信息。请尽快更新到5.7版本。

Riddle漏洞存在于DBMS Oracle MySQL中,攻击者可以利用漏洞和中间人身份窃取用户名和密码。

“Riddle是一个在Oracle MySQL 5.5和5.6客户端数据库中发现的高危安全漏洞。允许攻击者在中间人位置使用Riddle漏洞破坏MySQL客户端和服务器之间的SSL配置连接。”漏洞描述写道。“此漏洞是一个非常危险的漏洞,因为首先它会影响MySQL – 非常流行的SQL数据库 – 其次会影响SSL连接,根据SSL的定义,它理应是安全的。”

Riddle漏洞的编号为CVE-2017-3305,当MySQL 5.5和5.6向服务器发送数据,包括用户名密码时,攻击者可以捕获它们。

针对5.5.49、5.6.30版本的安全更新并没有完全修复漏洞。专家注意到,5.7版本之后以及MariaDB系统没有受到漏洞影响。

安全研究员Pali Rohár称,导致Riddle漏洞的原因是之前存在于MySQL数据库中的BACKRONYM漏洞没有被修复。Backronym漏洞能在中间人攻击时用来泄露密码,即使流量经过加密。

“针对稳定版本的MySQL 5.5.49和5.6.30的安全更新中添加了在验证过程完成后对安全参数的验证。”“由于动作是验证完成后做出的,因此利用Riddle进行中间攻击再与SSL降级配合,攻击者就可以窃取登录数据进行身份验证并登录到MySQL服务器,“Rohár写道。

“有趣的是,当MySQL服务器拒绝验证用户时,MySQL客户端不会报告任何与SSL相关的错误,而是会报告服务器发送的未加密的错误消息。而这些错误消息由中间人攻击者控制的。”

专家建议将客户端软件更新为MySQL 5.7或MariaDB,因为这些应用程序的安全更新是能够正常工作的。

PoC

作者给出了用Perl写的PoC脚本。它会在本地3307端口开启riddle,MySQL服务器运行在localhost:3306。

在中间人服务器运行riddle:

$ perl riddle.pl

将MySQL客户端与riddle连接:

$ mysql --ssl-mode=REQUIRED -h 127.0.0.1 -P 3307 -u user -p password

如果你提供了正确的用户名密码,riddle就会连接到服务器,执行SQL语句并输出:

SELECT COUNT(*) FROM information_schema.TABLES --> 121

MySQL客户端会收到一条由riddle发送的错误信息:

ERROR 1045 (28000): Access denied: MITM attack

Oracle修复漏洞不及时

Riddle漏洞在二月份被发现,但是这个漏洞仍然能够影响到Oracle MySql软件。

“如果你不是Oracle客户的话,向他们报告漏洞是没有用的(即使是与安全相关的漏洞)。他们可以完全忽视任何报告,如果没人知道的话,他们会很高兴,因此不用修复漏洞了,“Rohár解释说。

“立即公开披露似乎是对用户最负责的解决方案,这是保护用户的唯一方法,能立即让他们知道应该做什么。”

原文发布于微信公众号 - FreeBuf(freebuf)

原文发表时间:2017-04-18

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏醉程序

配置nginx + php7 + mongodb的centos服务器环境

2122
来自专栏安智客

FIDO U2F认证器简明原理

U2F ( Universal 2nd Factor ) 是 Yubico, Yahoo 和 Google 联合开发的基于物理设备的双因素认证协议。这个物理设备...

2652
来自专栏北京马哥教育

LINUX上MYSQL优化三板斧

云豆贴心提醒,本文阅读时间7分钟 现在MySQL运行的大部分环境都是在Linux上的,如何在Linux操作系统上根据MySQL进行优化,我们这里给出一些通用简...

3117
来自专栏CSDN技术头条

Apache NiFi 1.0.0测试版:邮件路由应用新型ListenSMTP

本文为用户使用Apache NiFi最新版本来监听SMTP邮件,并以编程方式做出反应以及捕捉数据提供了指导。 ? 首先就可以注意到Apache NiFi 1.0...

23010
来自专栏云计算教程系列

如何在Ubuntu 16.04上安装和配置ownCloud

ownCloud是一个文件共享服务器,允许您将个人内容(如文档和图片)存储在集中位置,就像Dropbox一样。ownCloud的不同之处在于它是免费的开源软件,...

3920
来自专栏小程序·云开发专栏

手把手教会你小程序登录

首先大家看到这张图,肯定会注意到小程序进行通信交互的不止是小程序前端和我们自己的服务端,微信第三方服务端也参与其中,那么微信服务端在其中扮演着怎样的角色呢?我们...

1.3K2
来自专栏CloudZ的专栏

【腾讯云的1001种玩法】快速通过Drupal搭建个人博客

Drupal是一个开源的内容管理平台,它驱动着全球数以百万计的网站和应用,来世界各地不同地方的人们形成的多元并且活跃的社区创建和使用Drupal,并且提供支持。

1.1K0
来自专栏weixuqin 的专栏

基于 Django 的手机管理系统

1954
来自专栏FreeBuf

Linux爆新漏洞,长按回车键70秒即可获得root权限

按住回车70秒,黑客就能在linux系统绕过认证,进而获取root权限,并能远程控制经过加密的linux系统。 漏洞来源 这个安全问题来源于Cryptsetu...

3265
来自专栏好好学java的技术栈

java实现支付宝支付完整过程(沙箱测试环境,下篇整合ssm)

3483

扫码关注云+社区

领取腾讯云代金券