靶场科普 | MySql身份认证绕过(cve-2012-2122)

发表时间:2021-11-25 17:03

本文由“东塔网络安全学院”总结归纳


靶场介绍:

MySql身份认证绕过(cve-2012-2122)

靶场科普 | MySql身份认证绕过(cve-2012-2122)


今天,给大家介绍一下“东塔攻防世界”其中的一个靶场:“MySql身份认证绕过(cve-2012-2122)”。


一、实验介绍

1.漏洞简介:

当连接 MariaDB/MySQL 时,输入的密码会与期望的正确密码比较,由于不正确的处理,会导致即便是 memcmp () 返回一个非零值,也会使 MySQL 认为两个密码是相同的。也就是说只要知道用户名,不断尝试就能够直接登入SQL数据库。

2. 受影响版本:

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.

3. 出现原因

出现这个漏洞是由于memcmp函数只返回返回-128到127范围内的值,在某些平台上进行了优化,导致即便是memcmp()返回一个非零值,也会使MySQL认为两个密码是相同的。大约256次就可以成功一次。


二、实验目的

1.掌握Mysql 身份认证绕过(cve-2012-2122)漏洞的基本概述

2.了解漏洞的产生方式

3.了解漏洞修复方式


三、实验步骤

1.打开实验地址,启动环境;

2.用nmap扫描一下mysql的版本;

3.采用msfconsole中的模块进行漏洞验证,然后解hash就可以看到密码。


四、修复建议

升级MySQL版本,(低于以下版本的都必须升级到最新版本:5.0版本低于5.0.96;5.1版本低于5.1.63;5.5版本低于5.5.25)停止mysql,备份整个mysql,安装目录,data目录(这个步骤只是预防升级失败)。