Хорошее дополнение. От себя добавлю "Как я разблокировал найденный телефон" — почему-то про поиск вариантов пароля по соцсетям не упомянули (возможно, всё это будет в следующем посте).
Возможно, в реализации Яндекс.Деньги действительно больше препятствий для злоумышленника и данными токена нельзя воспользоваться, но у других платёжных провайдеров оплата чужим токеном — вполне реальная ситуация.
Тут "Как ездить на такси за чужой счёт — уязвимости на примере одного сервиса" я пишу, как смог добавить себе токен другого клиента и оплатить им свой заказ (читать со слов «Платёжные карты добавляются в это приложение»).
Знаю про эту проблему давно, но не репортил, потому что наверняка бы отписались, что клиенты, которые выставляют свои данные в интернете, сами виноваты (только другими словами, такой опыт у меня есть с другими bug bounty программами). Вы говорите, что исправили? Подскажите, как?
Нашёл ошибку: если нажать «Не нравится», выбрать во всплывающем окне вариант, а потом передумать (нажать крестик), то при попытке проголосовать «За» — ошибка «Reasons are supported only for negative votes». И чтобы проголосовать «Нравится», пришлось перегружать страницу. Chrome, 78.0.3904.108
Скорее всего (я давал API не того сервиса, через который работает такси), да, из-за того, что clientAccountId необязательный, и есть такие ситуации. Проблема в том, что наверняка большинство тоже не учитывают clientAccountId. Спасибо, что копнули глубже.
При каждом новом запросе авторизации выполняется новый запрос с новым кодом.
Генерировать подпись я, конечно, не пробовал, но все остальные параметры в запросе перебирал — ничего не отправляется, выдаёт ошибку AUTH ERROR (sign).
В указанной статье про такси описано, что я успешно заказал и оплатил такси с чужим токеном.
Там же указан пример документации одного из провайдеров. К сожалению, токены не привязываются к чему-либо.
(года писал не по памяти, просто в тему))
Потом:
007 можно взять:
Форсаж, например:
Ну и дальше можно продолжать:
Такие автоответы с ссылкой есть и у официальных сервисов — например, у i.ua
Интересно, сколько писем недополучают люди, настроившие себе такое правило)
Тут "Как ездить на такси за чужой счёт — уязвимости на примере одного сервиса" я пишу, как смог добавить себе токен другого клиента и оплатить им свой заказ (читать со слов «Платёжные карты добавляются в это приложение»).
Daleko, FYI
P.S.: abSession на одном из скринов и hasAlfaCredit на другом как бы намекает
Знаю про эту проблему давно, но не репортил, потому что наверняка бы отписались, что клиенты, которые выставляют свои данные в интернете, сами виноваты (только другими словами, такой опыт у меня есть с другими bug bounty программами). Вы говорите, что исправили? Подскажите, как?
Когда я нашёл уязвимости в другом сервисе такси (Как ездить на такси за чужой счёт — уязвимости на примере одного сервиса), я видел такую же ситуацию, но не мог так хорошо расписать её. Что ж, попробую сообщить сейчас, с ссылкой на ваш пост, о результатах сообщу ;)
Нашёл ошибку: если нажать «Не нравится», выбрать во всплывающем окне вариант, а потом передумать (нажать крестик), то при попытке проголосовать «За» — ошибка «Reasons are supported only for negative votes». И чтобы проголосовать «Нравится», пришлось перегружать страницу. Chrome, 78.0.3904.108
Генерировать подпись я, конечно, не пробовал, но все остальные параметры в запросе перебирал — ничего не отправляется, выдаёт ошибку AUTH ERROR (sign).
Там же указан пример документации одного из провайдеров. К сожалению, токены не привязываются к чему-либо.
А по токенам — да, в конце третьего случая я указал: похоже на токен из моей предыдущей статьи Как ездить на такси за чужой счёт — это как раз оно)