MySQL 客户端允许 MySQL 服务器请求任何本地文件

近期,大型商务网站和政府网站遭遇黑客通过Adminer数据库入侵,揭示了MySQL协议的潜在缺陷。此攻击利用了LOAD DATA语句中客户端指定文件的功能,尽管部分客户端如Golang、Python等已内置保护或默认禁用此功能,但Adminer等工具的安全性仍有待加强。

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

近期大型商务网站和政府网站被黑客通过 Adminer 数据库入侵,根本原因是 MySQL 的协议缺陷。

但在官方文档显示,客户端主机到服务器主机的文件传输由 MySQL 服务器启动。理论上,客户端程序选择的文件不应是 LOAD DATA 语句中客户端指定的文件,而应该是传输服务器选择的文件。

虽然由很大的泄密风险,但服务器必须知道客户端上文件的完整路径,才可能成功。而请求/self/proc/environ,服务器就可以了解客户端上的文件夹结构。

一些客户端和库具有对此“功能”的内置保护,或者在默认情况下禁用它(例如 GolangPythonPHP-PDO)。但并非所有都会这么做,正如 Adminer 案例所示。Adminer 很可能不会是最后一个出现该问题的


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值