南通网站设计专家,网络推广员是什么,网站百度排名,资讯网站的好处“A pure node.js javascript Client implementing the MySQL protocol.”漏洞在某次安全评估中#xff0c;Synacktiv专家无意中发现某个应用可以从另一台MySQL服务器中读取敏感数据#xff0c;而该应用程序正是使用了mysql的npm软件包。该npm软件包所支持的LOAD DATA LOCAL命…“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:test127.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