😈 ПриветСнова%20
В этот чудесный день решил поделиться с вами забавной находкой на проекте, позволяющей повторно использовать номер телефона для регистрации и обходить блокировку по нему. Банальный пробел в URL-кодировке (%20) превращает номер в "нового пользователя"!
Система регистрирует аккаунты по номеру телефона, но не проверяет его корректность перед обработкой. Если даже к заблокированному в системе номеру (например, 79999999999) добавить пробел в виде %20, сервер воспримет это как новый номер (79999999999%20) и разрешит регистрацию. Также можно добавлять сколько угодно пробелов: 79999999999%20%20, 79999999999%20%20%20 и так далее. Для системы каждый такой вариант — уникальный аккаунт, хотя SMS-код всегда уходит на один и тот же номер.
Это как если бы вас не пускали в клуб по имени «Даффиер», но пропускали с тем же лицом, представившись «Даффиер%20».
▎ Риски:
➡️Обход блокировок: злоумышленник может продолжать использовать заблокированный номер, хоть и с новым аккаунтом в системе;
➡️Спам и злоупотребление: флуд SMS-сообщениями, создание тысяч "мусорных" аккаунтов;
➡️Захламление БД: дубликаты номеров, проблемы с аналитикой и чистотой данных.
▎ Рекомендация по устранению уязвимости:
✅Нормализация номера со строгой валидацией: удалять пробелы (регулярки в помощь)/спецсимволы до проверки на блокировку и регистрации нового аккаунта.
#кейс
Post #97
1.21K

- 😁 20
- 👍 10
- 🔥 4