Безопасно ли использовать Javascript файл учетной записи службы Google в Javascript? - PullRequest
0 голосов
/ 17 декабря 2018

Я создал веб-сайт JS, и для этого требуются некоторые API Google.Для этого я использую учетную запись службы Google.Поскольку это простой 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-ключ + идентификатор учетной записи и напишу скрипт, который получит доступ кИнформация.

Правильно ли мое утверждение, и если да, то как мне организовать этот процесс подключения, помня, что это веб-сайт на основе JS?

Действительно ли это так просто?взломать сайт, созданный JS??

Ответы [ 2 ]

0 голосов
/ 18 декабря 2018

На ваш вопрос

Неужели так легко взломать сайт, созданный JS?100

Боюсь, что ответ на этот вопрос довольно большой ДА , и, к удивлению многих, не так сложно взломать мобильное приложение,Разработчики предполагают, что это не так просто, когда код скомпилирован в двоичный файл.

Так что сайт 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')]('Hello\x20World!');}hi();

Источник: https://obfuscator.io/

Вы также можете использовать проект OWASP Zed Attack Proxy (ZAP), чтобы помочь вам оценить безопасность вашего веб-приложения.

ZAP :

OWASP Zed Attack Proxy (ZAP) является одним из самых популярных в мире бесплатных инструментов безопасности и активно поддерживается сотнями международных добровольцев *.Это может помочь вам автоматически находить уязвимости безопасности в ваших веб-приложениях во время разработки и тестирования ваших приложений.Это также отличный инструмент для опытных пентестеров для ручного тестирования безопасности.

Теперь давайте обратимся к вашему утверждению / вопросу

Правильно ли мое утверждение, и если да, то как мне организовать этот процесс подключения, помня,что это веб-сайт на основе JS?

К сожалению, на стороне клиента вы не можете безопасно обрабатывать доступ к службам третьей части, поэтому лучшее решение для вас - делегировать любой доступ к службам третьей части.в сервер API.Этот подход позволяет вам контролировать, кто получает доступ к этим службам, а в бэк-энде вы можете безопасно хранить все секреты, необходимые для доступа к любой третьей службе.

Теперь вам нужно иметь дело с контролем, кто обращается к этому сервису.API и я могу сказать вам заранее, что это непростая задача и что не существует абсолютного решения для защиты API, обслуживающего веб-приложение.

Наиболее распространенный способ защиты API - это использование api-keyно это легко обойти, как вы можете видеть в этой серии статей о технологиях безопасности Mobile Api.Хотя статьи находятся в контексте API для мобильного приложения, большинство методов, описанных здесь, также применимы к веб-приложению.В этих статьях вы узнаете, как API-ключи, токены доступа oauth, hmac, закрепление сертификатов можно использовать для защиты API и как их можно обойти.

В контексте API, обслуживающего только веб-приложениеНа первом этапе я рекомендую использовать решение Google reCaptcha V3, а затем, если будет сочтено, что этого недостаточно для защиты вашего API от злоупотреблений, вы можете начать думать о реализации решения для анализа поведения пользователей, также известного как UBA.

Gogole reCaptcha V3 :

reCAPTCHA - это бесплатный сервис, который защищает ваш сайт от спама и злоупотреблений.reCAPTCHA использует усовершенствованный механизм анализа рисков и адаптивные задачи, чтобы автоматизированное программное обеспечение не использовалось для злоупотреблений на вашем сайте.Это делает это, позволяя вашим действительным пользователям легко проходить через них.

UBA в Википедии:

Анализ поведения пользователей (UBA), как определено Gartner, представляет собой процесс кибербезопасности, связанный с обнаружением внутренних угроз, целевых атак.и финансовое мошенничество.Решения UBA рассматривают модели поведения людей, а затем применяют алгоритмы и статистический анализ для выявления значимых аномалий из этих моделей - аномалий, которые указывают на потенциальные угрозы.Вместо отслеживания устройств или событий безопасности, UBA отслеживает пользователей системы.Платформы больших данных, такие как Apache Hadoop, расширяют функциональные возможности UBA, позволяя им анализировать данные объемом в петабайты для обнаружения внутренних угроз и расширенных постоянных угроз.

0 голосов
/ 17 декабря 2018

SQL Inject может обойти систему API, учитывая простоту этого и все, но кроме этого вы должны быть хорошими.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...