«Вам повезло!» или как Яндекс устранял баг

в 10:00, , рубрики: безопасность мобильных приложений, информационная безопасность, Тестирование мобильных приложений

Предисловие

Hello, team! Возможно, столь завуалированное название статьи Вас заинтересовало, и вы решили прочитать ее во что бы то ни стало, дабы понять суть. Но на деле все куда проще, а остроты данной ситуации подбавляют лишь комические реплики службы поддержки Яндекс (далее - ЯД), которая красиво "отшила" мой баг-репорт.

Когда я оставил заявку на bugbounty, я и не надеялся получить быстрый ответ. Я заранее загуглил отзывы некоторых пентестеров, которые были крайне недовольны системой поощрения программы ЯД. Но, к моему удивлению, баг закрыли через пару дней, а затем я пустился во все тяжкие в полемику с рыцарем службы поддержки ЯД.

История

Один мой друг из северного городка часто передвигался из пункта А в пункт Б, а иногда даже и в С, и в Д и тд. Пользовался он, конечно же, Яндекс Go. Быстро, удобно, дорого! Последнее было не кстати, так как поездок было действительно много и на дальние расстояния. Но сама система, как вы знаете, считает стоимость поездки от многих факторов (время, загруженность, погода и тд). Таким образом, в ночное время можно было совершить поездку за 100-120 рублей, когда в 8:00 утра цена могла достигать 500 рублей. А что если сделать заказ в 8 утра с тарифом на 4 часа ранее? Можно! Но нет - мы не будем изобретать машину времени, прыгать в черную дыру или умолять ЯД сделать нам скидку. Ленивые программисты все сделали за нас! Они просто забыли дописать функцию перерасчета.

Баг

Так в чем же заключается сам баг? Возможно, что это не совсем баг, а что-то типа фитчи - думал я... Но если углубиться в детали, то это действительно ошибка. Выбрав нужный маршрут в то время, когда стоимость будет минимальной, мы не подтверждаем заказ, а просто оставляем приложение открытым. В тот момент, когда нам нужно будет отправляться в путь, подтверждаем заказ и вуаля! Странно, что сессия хранится так долго, а само приложение не делает перерасчет, но у Яндекса есть коронный ответ на этот вопрос...

Взгляните на карту ниже. Это маршрут, по которому был сделан заказ в 8:00. В самый час-пик, расстояние почти через весь город. Как думаете, какова цена? Ответ ниже.

«Вам повезло!» или как Яндекс устранял баг - 1
Поездка на камри через весь город в 8:00 за 126р?)
Поездка на камри через весь город в 8:00 за 126р?)

Видели бы вы лицо бедного таксиста :(

Экономия была огромной, а в больших городах вас бы наверное даже не повезли. Приведу еще один пример - экономии между заказами в разное время.

«Вам повезло!» или как Яндекс устранял баг - 3

Перерасчет в данном случае был сделан специально, дабы увидеть разницу в цене, но никто не мешал уехать в 7:04 по стоимости в 155 рублей.

Кульминация

Баг найден, репорт успешно составлен и отправлен в службу поддержки ЯД. Проверяем еще раз "халявную поездку" через пару дней и видим примитивное окно ошибки, которое было написано на скорую руку.

«Вам повезло!» или как Яндекс устранял баг - 4

Вот молодцы! Исправили оперативно, теперь напишем в поддержку. К удивлению, но специалист СБ быстро вышел на связь. Завязался небольшой диалог, где были предоставлены все доказательства. Все бы ничего, но произошел троллинг...

«Вам повезло!» или как Яндекс устранял баг - 5

Подобных моментов везения было очень много. Мои друзья самые везучие люди, а Василий отправил меня дальше искать удачу на своем пути, и я надеюсь, что везение где-то близко...

Автор: White Hacker

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js