在 Apache Ignite 中更改 H2 用户
Changing the H2 user in Apache Ignite
首先我想说我从未使用过 Apache Ignite,只是简单地使用过 H2。我有一个使用 Ignite 的客户,他们在自己的代码中与 Ignite 中的 H2 数据库进行交互。代码非常复杂,所以我很难准确解释他们的代码使用 H2 数据库的目的,但我认为它与问题无关。
通过 SQL 注入,可以执行 H2 函数,例如 "FILE_WRITE" 和 "FILE_READ"。 H2 数据库似乎 运行 正在使用 SA 帐户,并且还 运行 正在作为根用户使用,这使得覆盖系统上的敏感文件成为可能。
如果我们忽略了一个明显需要修复的SQL注入的事实,是否可以将Ignite中H2的SA帐户更改为低权限用户以停止使用FILE_READ 和 FILE_WRITE 函数?
如果 Ignite 是 运行 root,那么我假设 H2 在系统中也是 运行 root?假设需要将 Ignite 进程降级为低特权帐户以使 H2 也不是 运行 作为 root 是否正确?
我目前无权访问相关系统,但已被请求访问,但我知道可以使用 FILE_WRITE 的事实,并且可以覆盖敏感文件(那只是root 可写)。
不是您问题的直接答案,但这已在 Apache Ignite 2.8.1 中修复。参见 the announcement。
是的,不要完全按照您建议的原因 运行 点燃 "root"。
首先我想说我从未使用过 Apache Ignite,只是简单地使用过 H2。我有一个使用 Ignite 的客户,他们在自己的代码中与 Ignite 中的 H2 数据库进行交互。代码非常复杂,所以我很难准确解释他们的代码使用 H2 数据库的目的,但我认为它与问题无关。
通过 SQL 注入,可以执行 H2 函数,例如 "FILE_WRITE" 和 "FILE_READ"。 H2 数据库似乎 运行 正在使用 SA 帐户,并且还 运行 正在作为根用户使用,这使得覆盖系统上的敏感文件成为可能。
如果我们忽略了一个明显需要修复的SQL注入的事实,是否可以将Ignite中H2的SA帐户更改为低权限用户以停止使用FILE_READ 和 FILE_WRITE 函数?
如果 Ignite 是 运行 root,那么我假设 H2 在系统中也是 运行 root?假设需要将 Ignite 进程降级为低特权帐户以使 H2 也不是 运行 作为 root 是否正确?
我目前无权访问相关系统,但已被请求访问,但我知道可以使用 FILE_WRITE 的事实,并且可以覆盖敏感文件(那只是root 可写)。
不是您问题的直接答案,但这已在 Apache Ignite 2.8.1 中修复。参见 the announcement。
是的,不要完全按照您建议的原因 运行 点燃 "root"。