cve-2017-3599复现

本文详细分析了CVE-2017-3599漏洞,这是一个存在于Oracle MySQL服务器组件中的严重DoS漏洞。通过特定的认证数据包可以触发整数溢出,导致MySQL服务崩溃。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Cve-2017-3599

背景:
Oracle MySQL的MySQL服务器组件中的漏洞(子组件:服务器:Pluggable Auth)。 受影响的受支持版本是5.6.35及更早版本以及5.7.17及更早版本。 容易“利用”的漏洞允许通过多种协议进行网络访问的未经身份验证的攻击者破坏MySQL服务器。 成功攻击此漏洞可能导致未经授权的能力导致MySQL服务器挂起或频繁可重复崩溃(完整的DOS)

复现:
启动服务
在这里插入图片描述
登陆
在这里插入图片描述
执行poc
在这里插入图片描述
此时mysql服务已经dos了
在这里插入图片描述

流量分析:
18为注入payload的流量
在这里插入图片描述
注入后的结果:四次挥手没有完成,而且多次尝试重新握手但是都失败了
在这里插入图片描述

分析:
在这里插入图片描述
如上面的代码所示,如​​果发送到MySQL服务器的缓冲区指向的长度为\ xFF,则指向该数据包的指针将增加9个字节。
如果攻击者在该值之后发送密码长度为\ xFE或\ xFF且小于9字节的认证数据包,则net_field_length_ll函数会将指针定位到变量边界之外的数据包。
get_56_lenc_string函数将继续执行计算数据包中剩余的字节数。
指令max_bytes_available - = len_len将引发整数溢出,其中max_bytes_available的值将变为非常大的无符号整数。
下次调用get_string函数时,它将使memchr读出边界并退出并出现分段错误。
在这里插入图片描述
用户名user之后,跟的是密码的长度,poc中是/xff,密码为空,满足造成攻击的条件。
正常情况下登录时如果密码为空则应该直接执行认证,而不是再有其他字节
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值