本文共 616 字,大约阅读时间需要 2 分钟。
当连接MariaDB/MySQL时,输入的密码会与期望的正确密码比较。由于不正确的处理,会导致即便是memcmp()
返回一个非零值,也会使MySQL认为两个密码是相同的。根据公告,大约256次尝试就能成功猜测密码。这意味着,只要知道用户名,攻击者就可以通过不断尝试直接登录SQL数据库。
此漏洞影响了MariaDB和MySQL的多个版本,具体包括:
修复后的版本包括:
要利用这个漏洞,首先需要了解如何利用goby
工具进行攻击。以下是复现步骤:
goby
自带的漏洞EXP进行goby
工具进行漏洞利用,通过发送特定的SQL语句来绕过认证机制。goby
自带了针对这个漏洞的EXP脚本,可以直接运行goby check
命令来检测漏洞是否存在。goby
将返回成功的认证结果,从而允许攻击者访问目标数据库。这个漏洞的关键在于密码比较逻辑的实现方式。由于memcmp()
函数返回的值被错误地解释为认证成功的标志,导致即使密码不正确也能通过认证。攻击者只需知道用户名,就可以利用这个漏洞进行SQL注入攻击。因此,建议及时升级到已修复的版本,并启用强密码策略。
转载地址:http://tkabz.baihongyu.com/