Angular Guard 或 Firebase Auth 是否容易被黑客入侵

Can Angular Guard or Firebase Auth be easily hacked

我读到,由于 Angular 是基于客户端的,所以不能单独信任它来保护路由等。但是,我找不到破解它的方法。

谁能详细解释一下如何编辑本地js文件来绕过路由保护(或使用任何方法)? Firebase Auth 怎么样,有人可以欺骗 Angular 以为您是另一个登录用户吗?

我有同时使用两者的示例网站。源码在这个GitHub repo and it's hosted via Firebase at this: URL.

我在 main-page component 中添加了一些秘密消息(显然未在 GitHub 存储库中显示),该消息受使用 FirebaseUI 身份验证的 Guard 进行用户身份验证。它们将显示为这些语句:

谁能看到这些或解释一下黑客是如何做到的?我希望很清楚 post 并不是要鼓励黑客攻击,而只是为了了解 Angular 和 Firebase Auth 使用背后的安全模型(我知道 OAuth 本身是安全的,但不确定我是否在 auth.service.ts 中使用它)。

Secret message if broke Angular Guard: 8ef80ecb-7439-4cc3-8263-89afcd012d1c

Secret message if broke Firebase Auth: f380cb1a-aaec-4898-81fb-98aff2863765

这是您所期待的吗?

所以这里不涉及黑客攻击。我可以在浏览器中打开开发人员工具并查看缩小后的 js 代码。前端安全的理念是永远不要向前端发送您不希望用户看到的任何内容。 Auth guard 实际上只是一种阻止爱管闲事的用户查看您的 UI 部分他们没有 role/privilege 权限的方法。它不会阻止您下载 javascript 并查看代码。

就冒充其他用户而言,您已(明智地)将身份验证交给第三方提供商。除非我可以获取其他人的帐户凭据或从他们的浏览器访问身份验证令牌,否则你是非常安全的。

如果我是黑客(我不是),我会做的是在代码中四处寻找后端接口调用,看看其中是否有任何不安全的或可供我拥有的虚假用户使用注册为。我可以通过直接调用它们(绕过您的 UI)并弄乱输入参数来做到这一点。这就是大量泄露信息、后端资源安全配置错误或 API 设计不当的来源。