【问题标题】:Is there a security concern in RxJS library?RxJS 库中是否存在安全问题?
【发布时间】:2020-08-14 09:43:44
【问题描述】:

目前我正在开发一个在 Angular 框架中使用 RxJS 的项目。最近的一份渗透测试报告强调,在应用程序中使用window.postMessage(‘’, ‘*’) 可能会导致安全漏洞。进一步调查后,我们发现 RxJS (http://reactivex.io/rxjs/file/es6/util/Immediate.js.html) 中的 Immediate.js 文件可能是此问题的根源。渗透测试报告指出“如果 postMessage() 用于在窗口之间传输敏感信息,那么未经授权的窗口也将能够检索此信息”。有人建议在 window.postMessage() 函数中使用显式目标窗口而不是通配符 ('*') 字符来解决此问题。由于此代码嵌入在 RxJS 库中,因此我们不愿意更改它,因为它可能会引入一些不良影响。

鉴于上述情况,我想知道:

  1. 可以采取哪些措施来防止客户端计算机上的其他窗口侦听此 Angular 应用程序?
  2. 这是 RxJS 上的一个已知问题吗?是否有可用的修复程序?

注意渗透测试是由第三方进行的,我们不知道他们可能使用了哪些工具。

【问题讨论】:

  • 你使用的是 rxjs 5.x 吗? ImmediateDefinition 使用 postMessage 的地方似乎只在 rxjs 5 代码中,而不是在 rxjs 6 中。
  • 他们是否对源代码或构建应用程序进行了渗透测试..?
  • 我刚刚检查了版本,它是 5.5.2。我认为是时候更新到最新版本了。我查看了 GitHub 存储库,似乎这已在 rxjs 6 中删除。@fridoo 感谢您指出这一点!
  • @MikeOne 他们只能访问我们编译的应用程序,所以我认为他们已经过渗透测试。
  • @JonathanStellwag 我会在更新 Angular 并对其进行测试后这样做。

标签: angular security rxjs postmessage penetration-testing


【解决方案1】:

将 Angular 从 5.5.2 更新到版本 6 似乎已经解决了这个问题。在更新期间,rxjs 已按照Angular update site 的建议更新到版本 6。我们按照本网站提供的步骤操作,现在我们正在运行 rxjs 6,它不包括在我们的渗透测试中突出显示的 window.postMessage("", "*") 函数。

@fridoo 再次感谢您为我们指明了正确的方向!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-25
    • 1970-01-01
    • 2011-06-01
    • 1970-01-01
    • 2022-01-17
    相关资源
    最近更新 更多