在Javascript中使用谷歌服务帐户json文件安全吗



我已经建立了一个JS网站,它需要使用一些谷歌API。为此,我使用谷歌服务帐户。由于这是一个简单的JS,我包含了我的json文件,如下所示:

var serviceAccountID = 'xxx@xxx.iam.gserviceaccount.com'
var calendarID = 'xxx@group.calendar.google.com'
// Establishing connection with Google
loadKey = new XMLHttpRequest();
loadKey.open('GET', 'js/valued-host-218919-xxx.json', false);
loadKey.onreadystatechange = function() {
jsonFile = JSON.parse(loadKey.response);
}
loadKey.send();

这意味着,如果我是那个"坏人",没有什么能假装我只是复制粘贴json密钥+帐户id,并编写一个访问信息的脚本。

我的说法正确吗?如果正确,我应该如何组织这个连接过程,记住这是一个基于JS的网站

破解js构建的网站真的这么容易吗?

解决您的问题

破解js构建的网站真的这么容易吗?

我担心对此的回复是相当大的YES,令许多人惊讶的是,破解移动应用程序并没有那么难,许多开发人员认为,一旦代码被编译成二进制文件,就不会那么容易了。

所以JS网站只是浏览器中的普通代码,你只需要点击F12就可以看到它

但是,您可以通过混淆javascript:来使其更加困难

纯javascript:

// Paste your JavaScript code here
function hi() {
console.log("Hello World!");
}
hi();

混乱的Javascript:

var _0x2bc2=['log'];(function(_0x4559ba,_0x43fc2e){var _0x58be47=function(_0x54a5cb){while(--_0x54a5cb){_0x4559ba['push'](_0x4559ba['shift']());}};_0x58be47(++_0x43fc2e);}(_0x2bc2,0xd5));var _0x2916=function(_0x3a4400,_0xb0a1a2){_0x3a4400=_0x3a4400-0x0;var _0x3d6730=_0x2bc2[_0x3a4400];return _0x3d6730;};function hi(){console[_0x2916('0x0')]('Hellox20World!');}hi();

来源:https://obfuscator.io/

您还可以使用OWASP Zed Attack Proxy(ZAP)项目来帮助您评估web应用程序的安全性。

ZAP:

OWASP Zed攻击代理(ZAP)是世界上最受欢迎的免费安全工具之一,由数百名国际志愿者积极维护*。它可以帮助您在开发和测试应用程序时自动发现web应用程序中的安全漏洞。对于经验丰富的Pentester来说,它也是一个用于手动安全测试的好工具。

现在让我们来解决您的陈述/问题

我的说法正确吗?如果正确,我应该如何组织这个连接过程,记住这是一个基于JS的网站?

不幸的是,在客户端,您无法以安全的方式处理对第三方服务的访问,因此,对您来说,最好的解决方案是将对第三部分服务的任何访问委托给API服务器。这种方法可以让您控制谁访问这些服务,并且在后端,您能够安全地存储访问任何第三方服务所需的所有机密。

现在你需要处理控制谁访问这个API的问题,我可以提前告诉你,这不是一项容易的任务,也没有绝对的解决方案来保护为网络应用程序服务的API。

确保API安全的最常见方法是使用api-key,但正如您在本系列关于Mobile API安全技术的文章中看到的那样,这很容易被绕过。虽然这些文章是在移动应用程序的API上下文中编写的,但这里描述的大多数技术也适用于web应用程序。本文将让您了解如何使用api-keys、oauth访问令牌、hmac和证书钉扎来保护api,以及如何绕过它们。

在API只提供网络应用程序的情况下,我建议在第一阶段使用Google reCaptcha V3解决方案,然后如果认为不足以保护您的API免受滥用,您可以开始考虑实施用户行为分析解决方案,也称为UBA。

Gogole reCaptcha V3:

reCAPTCHA是一项免费服务,可保护您的网站免受垃圾邮件和滥用。reCAPTCHA使用先进的风险分析引擎和自适应挑战来防止自动化软件在您的网站上进行滥用活动。它可以做到这一点,同时让您的有效用户轻松通过。

维基百科上的UBA:

Gartner定义的用户行为分析(UBA)是一个关于检测内部威胁、定向攻击和金融欺诈的网络安全过程。UBA解决方案着眼于人类行为模式,然后应用算法和统计分析从这些模式中检测出有意义的异常——表明潜在威胁的异常。UBA不是跟踪设备或安全事件,而是跟踪系统的用户。像Apache Hadoop这样的大数据平台正在增加UBA的功能,允许它们分析价值PB的数据,以检测内部威胁和高级持久威胁。

SQL注入可以绕过API系统,考虑到它的简单性,但除此之外,你应该很好。

相关内容

  • 没有找到相关文章

最新更新