Как мы нашли способ добавления в сообщество любого пользователя VK и получили за это $10 тыс

в 7:14, , рубрики: баг вконтакте, Вконтакте API, информационная безопасность, Расширения для браузеров, метки:

Как-то раз мы с другом написали расширение для браузера, которое отслеживало все клиентские запросы к серверу на сайте vk.com. Наше расширение не просто отслеживало, а искало те запросы, где присутствовал ID пользователя.

Сначала запросов было очень много. Чтобы уменьшить, мы решили отправлять запросы повторно, а ответы сравнивали с предыдущим запросом. Если ответы были одинаковыми, скрипт нас об этом уведомлял. После чего мы ручками хотели ковырять, но с VK нам это делать не пришлось.

image

Запустив скрипт, нам ничего не пришло, мы стали просто бродить по сайту и делать разные действия. Через полчаса поисков мы ничего не нашли и просто забыли про расширение, оставив его активным.

Спустя около месяца зашел в свою закрытую группу и увидел там пару заявок. Приняв одну, у меня вылетело уведомление о том, что от сервера пришел такой же ответ. Поначалу я испугался, но потом, вспомнив про наш скрипт, быстро начал ковырять запрос. Спустя минут 20 добавил в группу первого левого пользователя Вконтакте. Созвонились с другом и начали делать плохие дела. Через 2 часа в нашей закрытой группе было более 50 000 человек. При этом участники группы для этого ничего не делали.

Были идеи не говорить об этом поддержке VK и накручивать сообщества за деньги. Но все же мы решили написать в поддержку и спустя пару часов баг исправили, а нам выплатили $10 тыс.

Немного о баге

Запрос отправлялся на адрес: vk.com/groupsedit.php
GET параметры: act=user_action&action=1&addr=IDЖЕРТВЫ&al=1&hash=1ed8fa73f2a7531178&id=IDГРУППЫ

При этом hash мог быть совершенно пустым, он вообще не учитывался при приеме на сервере.

Расширение мы решили не публиковать, чтобы его не использовали в плохих целях.

Автор: ept

Источник

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


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