Получи случайную криптовалюту за регистрацию!

Давно я ничего не писал, а особенно давно не писал о бб. Пар | Cybred

Давно я ничего не писал, а особенно давно не писал о бб.

Пару недель назад мне посчастливилось найти две критичных баги на одном критосервисе: одна из них заключалась в возможности обхода 2FA при авторизации / взаимодействии с валютами, другая - открывала доступ прямиком в админ-панель без пароля.

Обе этих баги - очень простые, их буквально мог обнаружить практически любой пользователь. Дабы обезопасить балансы, на сайте имелась возможность включения 2FA на основе соответствующих кодов из мобильных приложений. Звучало безопасно до тех пор, пока я не решил ввести "123456". Данные неправильно валидировались на сервере и абсолютно любой код считался истинным.

Другой баг был несколько необычным. Один из эндпоинтов, следовавший за подтверждением аккаунта, должен был возвращать обновленные Access и Refresh JWT-токены, необходимые для активности в личном кабинете. На вход принимались куки со старыми токенами, создающимися после заполнения формы регистрации, перед тем, как пользователь подтвердит почту.

Я решил попробовать отправить запрос без них, дабы лицезреть ошибку или редирект на главную, однако, сайт все равно вернул пару JWT. Сначала я не понял от какого они аккаунта, однако попробовал зайти в личный кабинет и обнаружил в профиле ФИО одного из создателей сервиса, вместе с привязанной корпоративной почтой и балансом в несколько тысяч $.

Затем я вышел из него, подождал некоторое время и повторил запрос - опять валидные токены, на этот раз от другого аккаунта. И так я повторял до тех пор, пока, наконец, не дошел до аккаунта с максимальными привилегиями. Их уровень возвращался уже в другом запросе, вместе с доменами, на который они распространяются (объект resource/role). Так я нашел URL админки, зайдя в которую, я сразу же оказался авторизованным, благодаря ранее подхваченным токенам.

Шелл залить я не пытался, в админке можно было следующее: просмотреть всех пользователей, которые были зарегистрированны, историю их транзакций, документы (KYC). Доступ открывался также к изменению паролей, управлению блогом (с возможностью HTML-вставок), чатом и просмотру активности, в целом.

Итого: 0.4btc (пруфов не будет), вывод блечить в таких случаях или нет каждый делает сам