Вопросы безопасности в веб-технологиях / Как НЕ нужно проводить конкурсы на своём сайте

в 19:22, , рубрики: csrf, ebay, ebaytoday, token, конкурс, накрутка, метки: , , , , ,

Вопросы безопасности в веб-технологиях / Как НЕ нужно проводить конкурсы на своём сайте
Наверное, многие уже слышали о замечательном сервисе ebaytoday.ru, который занимается пересылкой покупок с аукционов и интернет-магазинов США, Великобритании, Германии и Китая. Доставляют хорошо, нареканий не много, да и сервис у них хорош.
Так вот, они в преддверии 14 февраля решили сделать интересный конкурс — за что им честь и хвала. Условия очень простые: вы загружайте фотографию себя и своей второй половинки, а потом другие пользователи, принимающие участие в конкурсе, для каждого молодого человека подбирают девушку из 5 предложенных. Тем, кого угадают наибольшее количество раз приз — 2 Kindle Touch. А тому, кто угадает 20 пар в любой день — тоже Kindle Touch, но уже один.
К всеобщему сожалению, запустив конкурс 10 февраля, они не оттестировали его как следует и до 13 числа голоса не засчитывались, поэтому 13 февраля все голоса были сброшены и конкурс запустился во второй раз, но уже рабочим. Такое бывает и иногда простительно, но не с такой обширной аудиторией, как у этого сервиса.
Накрутка голосов

При голосовании отправлялся POST-запрос на страницу со следующими данными:woman — url фотографии мужчины (почему именно мужчины — не знаю, вероятно это как-то связано с общей грамотностью программиста)man — url выбранной девушки
… и всё! Ни каких там csrf, токенов для проверки того, какие именно пары увидел пользователь в браузере и что он отправил — вобщем, сохраняем страницу, меняем значения полей на нужные и «жмакаем до посинения» на кнопочку «соединить пару». Поэтому, к сожалению, пара, которая заняла первое место — многим показалась какой-то странной из-за того, что никто её не видел.
Отгадывание пары

Тут дела обстоят более завуалированно, но не менее ужасно. Для всех загружаемых фотографий создавались thumbnail (превью), фотки загружались две — парня и девушки, следовательно — что? Правильно, смотрим полученный у фотографии заголовок Last-Modified и ищем девушку с такой же датой создания превью. Умных людей оказалось гораздо больше, чем думала дорогая администрация и поэтому благодаря 82 людям, кто отгадал 20 из 20 пар, пришлось делать второй этап.
Вот такой получился Валентинов конкурс… В который раз уже убеждаюсь в том, что в интернете нормальных конкурсов нету: или накручивают, или в результатах «свои» люди.P.S.: рассказываю именно сейчас, чтобы никто не смог воспользоваться этими уязвимостями — конкурс уже окончен.

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


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