“A pure node.js javascript Client implementing the MySQL protocol.”

漏洞

在某次安全评估中,Synacktiv专家无意中发现某个应用可以从另一台MySQL服务器中读取敏感数据,而该应用程序正是使用了mysql的npm软件包。该npm软件包所支持的LOAD DATA LOCAL命令可让服务器读取客户端机器上的文件。 尽管用户可以通过指定标记LOCAL_FILES来禁用这个危险功能,但实际上该配置并不生效,最后导致恶意的MySQL服务器始终可以读取连接客户端本地的文件。

影响版本

文章发布时多个2.x版本受到影响(2.17.1受到影响)。

技术细节

根据官方文档的说法,mysql的npm包支持在进行连接时指定各种flag(某些设定参数),其中的LOCAL_FILES代表在客户端中是否可以使用LOAD DATA LOCAL命令。

以下示例显示了如何禁用该命令:var mysql = require('mysql');

var connection = mysql.createConnection('mysql://test:test@127.0.0.1/test?flags=-LOCAL_FILES');

connection.connect();

connection.query('SELECT 1', function (error, results, fields) { });

connection.end();

通过抓包软件可以看到,LOAD DATA LOCAL是不可用的:

但是,服务器仍然可以要求连接过来的客户端读取本地文件,下图中的bettercap命令是Bettercap已经集成的一个简易恶意MySQL服务器,相关链接为[https://github.com/bettercap/bettercap/wiki/mysql.server](https://github.com/bettercap/bettercap/wiki/mysql.server):

可以从上图看出“/etc/passwd”已被读取。该漏洞存在的根本原因是LOCAL_FILES标记并没有在代码运行时起到作用。

时间线

2019/05/10:发现漏洞

2019/05/14:发送报告给官方

2019/05/14:官方确认收到

2019/05/15:同意90天漏洞公开期

2019/07/24:发送邮件询问最新进展,无回应

2019/10/24:发送邮件询问最新进展,无回应

2019/11/04:漏洞详情公开

感谢你的阅读!本文由白帽汇整理并翻译,不代表白帽汇任何观点和立场:https://nosec.org/home/detail/3157.html

来源:https://www.synacktiv.com/ressources/advisories/Local_file_disclosure_mysql_npm_package_2.17.1.pdf

mysql漏洞包_MySQL npm包中的本地文件泄露漏洞相关推荐

  1. delphi cxgrid读取本地image_技术讨论 | PHP本地文件包含漏洞GetShell

    序言 让我们突破重重苛刻环境GetShell,文中有以phpmyadmin包含漏洞做演示. PS:本文仅用于技术讨论与分析,严禁用于任何非法用途,违者后果自负. 漏洞背景 当您在发现PHP本地文件包含 ...

  2. 一个云本地文件包含漏洞,影响世界一流公司

    本文讲的是一个云本地文件包含漏洞,影响世界一流公司,先通过一张截图看一下影响范围吧 本地文件包含是在Oracle Responsys的云服务中存在的.什么是Responsys?它是企业级基于云的B2C ...

  3. Linux Kernel 多个本地信息泄露漏洞

    漏洞名称: Linux Kernel 多个本地信息泄露漏洞 CNNVD编号: CNNVD-201306-028 发布时间: 2013-06-04 更新时间: 2013-06-04 危害等级:    漏 ...

  4. Linux Kernel ‘mp_get_count()’函数本地信息泄露漏洞

    漏洞名称: Linux Kernel 'mp_get_count()'函数本地信息泄露漏洞 CNNVD编号: CNNVD-201311-054 发布时间: 2013-11-06 更新时间: 2013- ...

  5. [译] 理解 NPM 5 中的 lock 文件

    本文讲的是[译] 理解 NPM 5 中的 lock 文件, 原文地址:Understanding lock files in NPM 5 原文作者:Jiří Pospíšil 译文出自:掘金翻译计划 ...

  6. php本地文件包含漏洞,php文件包含漏洞利用小结

    漏洞概述: 文件包含漏洞是指客户端(一般为浏览器)用户通过输入控制动态包含在服务器的文件,从而导致恶意代码的执行及敏感信息的泄露,主要包括本地文件包含LFI和远程文件包含RFI两种形式. 产生原因: ...

  7. BlueCms v1.6 本地文件包含漏洞代码审计

    目录 BlueCms POC构造 漏洞利用 BlueCms BlueCMS是一款专注于地方门户网站建设解决方案,基于PHP+MySQL的技术开发,全部源码开放. 复现版本为bluecmsv1.6版本, ...

  8. 关于在Spark集群中读取本地文件抛出找不到文件异常的问题

    关于在Spark集群中读取本地文件抛出找不到文件异常的问题 一般情况下,我们在本地ide里写好程序,打成jar包上传到集群取运行,有时候需要读取数据文件,这个时候需要注意,如果程序中读取的是本地文件, ...

  9. 渗透测试专题二之msf(kali)的攻击教程将DOS操作系统中的本地文件接口“中断13”改造为网络文件系统...

    主要功能: msf   console的使用及其配置 msf的主要作用及其实例 主要功能介绍详情 msf   console的使用及其配置 启动服务:service postgresql  start ...

最新文章

  1. 为Keil添加注释的快捷键
  2. [Qt]Qt程序发布:在ubuntu下打包成Debian包的过程
  3. 关于某些 Visual Studio Code 扩展程序无法在浏览器中运行的原因
  4. 【英语天天读】第一场雪
  5. [html] 关于<form>标签的enctype属性你有哪些了解?
  6. Vue开启Gzip打包异常:webpack打包报错Cannot read property ‘emit‘ of undefined
  7. 应用层协议:HTTPS
  8. 职称英语与计算机考试试题,2020年职称计算机考试模拟选择试题及答案.doc
  9. ACM 学习笔记(二) 位运算、并查集、模拟、枚举、递推、递归
  10. excel内容少却文件很大_Excel文件格式批量转换你会了吗?神操作!Excel文件转XPS格式...
  11. Kaggle_Predict Future Sales_Prac 1(时间序列预测商品销量)
  12. cmds(cmds数据)
  13. 《Adobe Flash CS6中文版经典教程》——1.9 预览影片
  14. 客户端网页API(二)——从服务器获取数据
  15. python-22-使用Kivy开发手机app
  16. android 页面默认不弹软键盘_Android 软键盘的全面解析,让你不再怕控件被遮盖!...
  17. xampp v3.2.2 php版本,xampp 3.2.2下载
  18. Web应用程序和Web网站
  19. Keil MDK526 相同变量 突出显示
  20. 首席新媒体运营黎想教程:如何成为优秀的用户增长操盘手

热门文章

  1. [summary] 单调队列
  2. 虚拟机安装与概述(3)
  3. jquery创建并行对象或者叫合并对象
  4. ASP.NET性能优化小结(ASP.NETC#)(转)
  5. ROS——不同版本间ROS进行通信
  6. ROS与navigation教程——概述
  7. 机器学习——深度学习之卷积神经网络(CNN)——LeNet卷积神经网络结构
  8. R-CNN detection 运行问题及办法
  9. python class用法_python原类、类的创建过程与方法
  10. websphere jndi oracle,websphere7.0获得JNDI连接报invalid username/password