【问题标题】:Security Bypass MS Excel Power Query connected to MySQL安全绕过连接到 MySQL 的 MS Excel Power Query
【发布时间】:2016-05-25 14:52:22
【问题描述】:

设置:

谷歌云 5.6.3 中的 MySQL 数据库

Microsoft Excel 2013

Power Query 插件。

MySQL 用户 ODBC

权限 = 对 SchemaName.TableName 的 GRANT SELECT TO ODBC@'%'

使用 Power Query 与 MySQL 服务器建立 ODBC 连接 > 从其他来源 > 从 ODBC > 从 DSN 列表中选择 Cloud MySQL 服务器。

问题:

在下一个屏幕“表格导航器”中。该窗口不仅列出了 Schema 中的所有表,还允许我成功加载每个表。

通过完全相同的步骤进行连接,但使用来自其他来源的标准 excel 数据菜单选项> 我仅限于预期的 TableName。

尝试使用 Windows、ODBC 管理器连接到任何其他表也会产生预期的拒绝连接。

问题:

这是某种绕过安全漏洞的漏洞,它允许此 Power Query 插件绕过我的 MySQL 用户授予权限声明?

我将用户授权作为“安全”机制的期望是错误的吗?

或者我只是做错了什么,需要在 MySQL 中以不同的方式执行权限以使其真正安全???

【问题讨论】:

    标签: mysql excel odbc mysql-workbench powerquery


    【解决方案1】:

    Power Query 没有做任何绕过安全机制的事情,因此它可能是服务器上的配置问题。

    如果您拥有最新版本的 Power Query(2.33 或更高版本),您可以右键单击某个步骤并选择“查看本机查询”以查看正在发送的查询。这可以帮助您在 Power Query 之外重现该问题。

    【讨论】:

    • 不,看来 Power Query 处理的东西肯定与它看起来不同。我的 ODBC 用户被锁定到 1 个表,并且是只读的。连接 Windows ODBC 和 Excel 或访问该数据源会产生完全相同的结果(即使使用 MySQL Workbench 登录也会产生相同的限制)但是当我使用 Power pivot 连接到 ODBC 源时,我可以读取架构中的每个表,然后读取一些表。
    • 您使用什么凭据访问 Power Query 中的 ODBC 源?您是使用该用户的凭据还是您自己的凭据(默认将使用您的 Windows 凭据)?
    • 我正在使用我在数据库中设置的 ODBC 用户凭据。 Windows 用户未在数据库中设置为有效用户。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-10
    • 1970-01-01
    • 1970-01-01
    • 2014-08-03
    • 2019-01-16
    • 1970-01-01
    相关资源
    最近更新 更多