使用firebase进行javascript注入攻击的风险

And*_*cik 10 javascript security firebase

我试图理解/预测与使用firebase作为后端相关的安全性考虑因素.

这些文档包括验证用户身份和验证输入,但我找不到任何与恶意用户尝试将javascript注入数据库相关的风险的讨论.

是否有可能javascript可以包含在保存到数据库的输入字段中,然后可以在以后检索并显示该代码时执行?

或者是firebase以某种方式逃避或消毒数据?

Fra*_*len 11

任何数据库(或其他存储系统)都可用于存储恶意代码,因为它们是其功能所固有的:它们只是存储数据.

Firebase SDK和支持的库(例如AngularFire,EmberFire和ReactFire)确保它们永远不会将数据库中的信息嵌入到未转义的HTML页面中.虽然我们(我为Firebase工作)总是有可能错过那里的东西,但我不记得曾经被报道过.

  • 感谢您的答复.我认为答案是直接的,但我对Firebase文档中没有对此进行任何讨论感到失望.对于文档来说,包括讨论清理数据(即数据库与sdk)的责任以及用户为避免出现问题需要记住的内容,将会非常有用. (4认同)
  • 我同意令人担忧的是,明显缺乏讨论。Firebase 应该明确说明这一点,这是基于客户端的数据库的一个主要问题。您无法确保对插入数据库的任何数据进行消毒(除非在数据库规则中可以这样做)。我想我们只需要清理所有数据的输出。 (2认同)
  • 是的,这个答案的问题在于它将 firebase 描述为简单的数据库或存储系统,但据我所知,firebase 将自己作为后端进行营销。对我来说,后端不仅仅是一个数据库,还需要处理安全问题。 (2认同)

小智 5

无论后端如何,您都必须在将其放入网页时正确转义所有用户输入。

  • Firebase 的问题在于您无法确保输入经过消毒,因为任何消毒都是在客户端完成的,因此很容易被覆盖。 (3认同)