【问题标题】:Firebase's version of SQL InjectionFirebase 版本的 SQL 注入
【发布时间】:2017-07-19 09:15:33
【问题描述】:

在强大的 SQL 背景后第一次使用 firebase。我习惯于使用像addslashes() 这样的函数来清理用户输入到查询中。

是否有任何标准方法可以使用 Firebase 查找来做类似的事情?

例如:

// expected a key, not a path
var userProvidedKey = "3/malicious"

// will not be a ref to what I expect
var ref = firebase.database().ref(`something/${userProvidedKey}`)

我不知道用户能够在 ref 中进一步向下搜索会有多大恶意,但也许这个问题已经解决了?或者我需要.split('/').shift()我收到的任何输入吗?

注意:在我的示例中使用 JS SDK。

【问题讨论】:

    标签: firebase code-injection


    【解决方案1】:

    输入/输出应始终在进入数据库之前进行清理和验证。

    Firebase 提供了securitydata validation checks 以在您的应用程序中使用。 Firebase 还在其数据库中提供规则,以确定哪些用户对数据库中的哪些数据具有写入/读取权限。

    如需了解更多信息,请阅读有关 Firebase 实时数据库的 documentation

    发现这个线程 Adding Firebase data, dots and forward slashes 可能会回答有关 Firebase 特定卫生的一些实际问题。

    【讨论】:

      猜你喜欢
      • 2015-09-26
      • 1970-01-01
      • 2020-08-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多