Уязвимости ритейлеров — три случая, когда OTP можно было получить в запросе
При входе в личные кабинеты различных сервисов, в целях безопасности, часто используется 2FA — помимо логина и пароля, нужно ввести одноразовый код.
Но, как оказалось, не всё так безопасно даже с двухфакторной аутентификацией — за последний год я нашёл три (!) сервиса, когда одноразовый код для входа, который отправляется клиенту в SMS, можно было посмотреть в самом запросе.
Далее кратко о том, чем это грозило, на конкретных примерах.
1. Популярная сеть АЗС, более 500 000 зарегистрированных клиентов.
Запрос при входе в веб-версию личного кабинета:
POST https://someazs.ua/ua/profile/auth/
Accept: application/json, text/javascript, */*; q=0.01
Accept-Encoding: gzip, deflate, br
Accept-Language: ru,en-US;q=0.9,en;q=0.8,uk;q=0.7
Connection: keep-alive
Content-Length: 408
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Cookie: PHPSESSID=6n3l2o90hfb020u9ag020u8ha1; usersomeazs_popupcoupons=1;...
Host: someazs.ua
Origin: https://someazs.ua
Referer: https://someazs.ua/ua/login/
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36
X-Compress: null
X-Requested-With: XMLHttpRequest
data[phone_mask]: 951234567
data[phone]: 0951234567
Ответ: {"Status":0,"Code":"7038","status":true,"step2":true}
Код из SMS — 7038 — виден просто в ответе сервера.
Читать дальше →
Но, как оказалось, не всё так безопасно даже с двухфакторной аутентификацией — за последний год я нашёл три (!) сервиса, когда одноразовый код для входа, который отправляется клиенту в SMS, можно было посмотреть в самом запросе.
Далее кратко о том, чем это грозило, на конкретных примерах.
1. Популярная сеть АЗС, более 500 000 зарегистрированных клиентов.
Запрос при входе в веб-версию личного кабинета:
POST https://someazs.ua/ua/profile/auth/
Accept: application/json, text/javascript, */*; q=0.01
Accept-Encoding: gzip, deflate, br
Accept-Language: ru,en-US;q=0.9,en;q=0.8,uk;q=0.7
Connection: keep-alive
Content-Length: 408
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Cookie: PHPSESSID=6n3l2o90hfb020u9ag020u8ha1; usersomeazs_popupcoupons=1;...
Host: someazs.ua
Origin: https://someazs.ua
Referer: https://someazs.ua/ua/login/
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36
X-Compress: null
X-Requested-With: XMLHttpRequest
data[phone_mask]: 951234567
data[phone]: 0951234567
Ответ: {"Status":0,"Code":"7038","status":true,"step2":true}
Код из SMS — 7038 — виден просто в ответе сервера.
Читать дальше →
Источник: Хабрахабр
Похожие новости
- Реализация SHA256 и SHA512 на языке RUST
- Вспомнить за майские: 20 шагов для апгрейда информационной безопасности
- (Не) безопасный дайджест: открытый сервер, морская утечка и атака на цепочку поставок
- Неожиданности IPv6, или почему тупят Instagram и WhatsApp через прокси и VPN
- [Перевод] Бэкдор в основной версии xz/liblzma, ведущий к компрометации SSH-сервера
- Раскрываем секретные функции: магия макросов в Burp Suite
- AITU Military CTF 2024: История о том, как мой сон привел к поднятию киберполигона в стенах моего университета. Часть 1
- Объявлены победители RUWARD AWARD 2024
- Виртуальное повышение. Эскалируем привилегии в VirtualBox
- Сила шифрования или как я выявил недостаток работы Defender’а