Плохая авторизация в OneSignal Rest API - PullRequest
0 голосов
/ 27 апреля 2019

OneSignal предоставляет API для отправки уведомлений подписчикам. Некоторые функции API требуют API-ключа для авторизации, но в большинстве из них отсутствует то же самое, поскольку авторизация не требуется, если отправка целевой аудитории с помощью PlayerID или ExternalID

Единственное, что требуется, - это идентификатор приложения, который должен быть открыт для работы OneSignal. По-видимому, если кто-то узнает PlayerID или ExternalID (используя в моем случае идентификатор id), он / она может отправить уведомление о спаме без какой-либо авторизации. Я уже связался с их службой поддержки, и они говорят, что найти playerID / externalID сложно для хакера, и они еще не сталкивались с подобным инцидентом. Я считаю этот ответ неудовлетворительным.

Пример запроса API

curl --include \
     --request POST \
     --header "Content-Type: application/json; charset=utf-8" \
     --data-binary "{\"app_id\": \"5eb5a37-b45-113-ac11-000c294062c\",
\"contents\": {\"en\": \"English Message\"},
\"include_player_ids\": [\"6392d91a-b206-4b7b-a620-cd68e32c3a76\",\"76ece62b-bcfe-468c-8a78-839aeaa8c5fa\",\"8e0f21fa-9a5a-4ae7-a9a6-ca1f24294b86\"]}" \
     https://onesignal.com/api/v1/notifications

Ссылка: https://documentation.onesignal.com/reference#section-send-based-on-onesignal-playerids-create-notification

Я пытаюсь найти решение, чтобы предотвратить эту утечку. Спасибо за ваше время

...