聚焦源代码安全,网罗国内外最新资讯!
编译:360代码卫士团队
客户端主机和MySQL服务器之间的文件传输交互中存在一个设计缺陷,可导致攻击者运行恶意MySQL服务器,从而获取联网客户端具有读取权限的数据的访问权限。
恶意人员能利用该漏洞从和不受信任服务器进行连接的配置不当的web服务器中检索敏感信息,或从数据库管理应用程序中检索敏感信息。
已知的安全问题
问题存在于和LOCAL修饰符使用的LOAD DATA语句中,MySQL文档中将其列为安全风险。
研究人员解释称,客户端基于客户端在LOAD DATA语句中提供的信息从MySQL服务器中获取文件传输请求。然而,恶意服务器能够以LOAD DATA LOCAL语句回复并要求获取客户端具有读取权限的任何文件。
MySQL文档中提到,“被修复的服务器实际上能够以文件传输请求回复任何语句,而不仅是LOAD DATA LOCAL,因此更根本的问题是客户端不应和不受信任的服务器连接。”
这种情况也适用于web服务器,和MySQL服务器连接时当做客户端。在这种情况下,攻击者能够利用该缺陷窃取含有用户账户记录的/etc/ passwd文件。
只有服务器在知道完整路径的情况下才能获取该文件。然而,完整路径可通过请求提供运行进程环境变量的“/proc/self/environ’文件的方式获取,从而导致内部文件夹结构的主目录和详情遭暴露。
现成可用的恶意 MySQL 服务器
安全研究员Willem de Groot在Reddit引发的讨论认为,用户可遭恶意MySQL服务器的攻击。其中窃取密币钱包的SSH密钥和访问详情就是一种。De Groot认为,2018年10月发生的Magecart攻击利用的就是MySQL缺陷注入购物网站代码,窃取结算时使用的支付卡详情。
恶意MySQL服务器的代码早在5年前就出现在GitHub上,因此网络犯罪分子将其用于攻击者也就不足为奇了。
上周,de Groot发布博客文章解释了犯罪分子如何使用该缺陷,通过管理PostgreSQL和MySQL数据库的工具Adminer提取敏感详情。
攻击者的目的似乎是窃取Magento商务平台存储数据库密码的文件(‘local.xml’)。
这种情况是很有可能发生在运行Adminer易受攻击版本(修订版4.3.1至4.6.2)的网站上的。网站管理员应当更新至Adminer更加安全的版本,也就是至少更新至4.6.3。
https://www.bleepingcomputer.com/news/security/mysql-design-flaw-allows-malicious-servers-to-steal-files-from-clients/
领取专属 10元无门槛券
私享最新 技术干货