博客
关于我
复现goby——CVE-2012-2122(Mysql 身份认证绕过)
阅读量:477 次
发布时间:2019-03-06

本文共 616 字,大约阅读时间需要 2 分钟。

漏洞介绍

当连接MariaDB/MySQL时,输入的密码会与期望的正确密码比较。由于不正确的处理,会导致即便是memcmp()返回一个非零值,也会使MySQL认为两个密码是相同的。根据公告,大约256次尝试就能成功猜测密码。这意味着,只要知道用户名,攻击者就可以通过不断尝试直接登录SQL数据库。


影响版本

此漏洞影响了MariaDB和MySQL的多个版本,具体包括:

  • MariaDB版本:5.1.61及更低版本
  • MySQL版本:5.1.63及更低版本

修复后的版本包括:

  • MariaDB 5.1.62及更高版本
  • MySQL 5.1.63及更高版本

漏洞复现

要利用这个漏洞,首先需要了解如何利用goby工具进行攻击。以下是复现步骤:

(一)利用goby自带的漏洞EXP进行

  • 首先,确保已经获取了目标数据库的用户名和密码信息。
  • 使用goby工具进行漏洞利用,通过发送特定的SQL语句来绕过认证机制。
  • 由于goby自带了针对这个漏洞的EXP脚本,可以直接运行goby check命令来检测漏洞是否存在。
  • 如果漏洞存在,goby将返回成功的认证结果,从而允许攻击者访问目标数据库。

  • 总结

    这个漏洞的关键在于密码比较逻辑的实现方式。由于memcmp()函数返回的值被错误地解释为认证成功的标志,导致即使密码不正确也能通过认证。攻击者只需知道用户名,就可以利用这个漏洞进行SQL注入攻击。因此,建议及时升级到已修复的版本,并启用强密码策略。

    转载地址:http://tkabz.baihongyu.com/

    你可能感兴趣的文章
    mysql slave 停了_slave 停止。求解决方法
    查看>>
    MySQL SQL 优化指南:主键、ORDER BY、GROUP BY 和 UPDATE 优化详解
    查看>>
    MYSQL sql语句针对数据记录时间范围查询的效率对比
    查看>>
    mysql sum 没返回,如果没有找到任何值,我如何在MySQL中获得SUM函数以返回'0'?
    查看>>
    mysql Timestamp时间隔了8小时
    查看>>
    Mysql tinyint(1)与tinyint(4)的区别
    查看>>
    mysql union orderby 无效
    查看>>
    mysql v$session_Oracle 进程查看v$session
    查看>>
    mysql where中如何判断不为空
    查看>>
    MySQL Workbench 使用手册:从入门到精通
    查看>>
    mysql workbench6.3.5_MySQL Workbench
    查看>>
    MySQL Workbench安装教程以及菜单汉化
    查看>>
    MySQL Xtrabackup 安装、备份、恢复
    查看>>
    mysql [Err] 1436 - Thread stack overrun: 129464 bytes used of a 286720 byte stack, and 160000 bytes
    查看>>
    MySQL _ MySQL常用操作
    查看>>
    MySQL – 导出数据成csv
    查看>>
    MySQL —— 在CentOS9下安装MySQL
    查看>>
    MySQL —— 视图
    查看>>
    mysql 不区分大小写
    查看>>
    mysql 两列互转
    查看>>