博客
关于我
复现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学习总结(69)——Mysql EXPLAIN 命令使用总结
    查看>>
    Mysql学习总结(6)——MySql之ALTER命令用法详细解读
    查看>>
    Mysql学习总结(70)——MySQL 优化实施方案
    查看>>
    Mysql学习总结(71)——MySQL 重复记录查询与删除总结
    查看>>
    Mysql学习总结(71)——数据库介绍(MySQL安装 体系结构、基本管理)再回顾
    查看>>
    Mysql学习总结(72)——MySQL 开发者开发,设计规范再总结
    查看>>
    Mysql学习总结(73)——MySQL 查询A表存在B表不存在的数据SQL总结
    查看>>
    Mysql学习总结(74)——慢SQL!压垮团队的最后一根稻草!
    查看>>
    Mysql学习总结(75)——并发量大、数据量大的互联网业务数据库设计军规
    查看>>
    Mysql学习总结(76)——MySQL执行计划(explain)结果含义总结
    查看>>
    Mysql学习总结(77)——温故Mysql数据库开发核心原则与规范
    查看>>
    Mysql学习总结(78)——MySQL各版本差异整理
    查看>>
    Mysql学习总结(79)——MySQL常用函数总结
    查看>>
    Mysql学习总结(7)——MySql索引原理与使用大全
    查看>>
    Mysql学习总结(80)——统计数据库的总记录数和库中各个表的数据量
    查看>>
    Mysql学习总结(81)——为什么MySQL不推荐使用uuid或者雪花id作为主键?
    查看>>
    Mysql学习总结(82)——MySQL逻辑删除与数据库唯一性约束如何解决?
    查看>>
    Mysql学习总结(83)——常用的几种分布式锁:ZK分布式锁、Redis分布式锁、数据库分布式锁、基于JDK的分布式锁方案对比总结
    查看>>
    Mysql学习总结(84)—— Mysql的主从复制延迟问题总结
    查看>>
    Mysql学习总结(85)——开发人员最应该明白的数据库设计原则
    查看>>