Безопасное хранение подписок на уведомления Web Pu sh JS / Node. js - PullRequest
1 голос
/ 26 февраля 2020

Я прочитал несколько вводных статей о реализации уведомлений Web Pu sh для настольных браузеров, но не могу понять, с какой стороны безопасности хранить полученные подписки из браузера пользователей на внутреннем сервере.

Существует много веб-сайтов. которые запрашивают разрешение отправлять вам уведомления pu sh без предварительной аутентификации / регистрации на этих сайтах. Если я предоставлю им разрешение, и они сохранят эту строку разрешений на своем внутреннем сервере для последующего использования, кто скажет, что я не буду генерировать еще одну строку подписки и отправлять ее на конечную точку своего внутреннего сервера, которую они использовали для сохранения моей подписки? и поэтому заполняют их базу данных подписными записями.

Каков механизм идентификации и проверки полученной подписки на бэкэнд-сервере, когда на сайте нет аутентификации / регистрации пользователей?

Для иллюстрации лучше:

Код веб-сайта JS запрашивает у браузера разрешение pu sh -> Я предоставляю его, нажимая «разрешить» в появившемся окне -> они берут его и сохраняют на своем сервере, например, с помощью HTTP POST. Используя простой скрипт, я устанавливаю sh соединение с той же конечной точкой HTTP и POST больше подписок в том же формате, что и ожидаемая конечная точка, поэтому заполняет базу данных бэкэнда.

1 Ответ

1 голос
/ 03 марта 2020

После долгих чтений и консультаций с одной из популярных служб уведомлений Web Pu sh я подтвердил, что действительно возможно заполнить базу данных внутреннего сервера с помощью поддельных URL-адресов подписки, когда на веб-сайте, использующем служба уведомлений.

Способы защиты от таких атак аналогичны способам защиты от DDoS-атак agianst: IP-фильтрация, удаление записей базы данных вручную и т. Д. c.

...