Уязвимости ритейлеров — три случая, когда 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 — виден просто в ответе сервера.
Читать дальше →
Источник: Хабрахабр
Похожие новости
- [Перевод] Postman логирует все ваши секреты и переменные окружения
- Math Agency: Google AI Mode: новая модель поиска, которая меняет всё
- Атака клонов или темная сторона Open Source
- А вам точно нужно делать и продвигать приложение? Два главных вопроса бизнесу перед разработкой
- Гайд по криптостойкости, как защитить наши данные
- [Перевод] Взлом моей машины, и, вероятно, вашей — уязвимости в приложении Volkswagen
- [Перевод] ПОСТРОЕНИЕ ДОВЕРИЯ К ИИ: как блокчейн повышает целостность, безопасность и конфиденциальность данных
- Конкурс — дело тонкое: механики, которые работают у застройщиков (и не вызывают кринж у аудитории)
- Кризис идей: что делать, если не растут продажи на маркетплейсе
- От ручного труда к автоматизированным системам: польза для кредитных организаций