Pull to refresh

OAuth ВКонтакте: использования в корыстных целях

Reading time2 min
Views13K
image
Существует множество способов распространения вредоносного спама во ВКонтакте. Но вредители не дремлют, в их головы приходят все больше интересных идей. И поддержка OAuth 2.0 платформой ВКонтакте оказалась как никак кстати. Мошенники научились пользоваться им для обхода страницы предупреждения о вредоносных сайтах.

А все началось с того, что однажды на моей стене появилось такое сообщение:

Из любопытства перешел по ссылке и попал на очередной фишинговый сайт. Но мне показалась странной сама ссылка, она имела вид (половина символов в ASCII):
vkontakte.ru/away.php?to=http%3A%2F%2FApi.vKontakte.Ru%2F%2Fo%2561u%2574%…

Рассмотрим ссылку детально:
  • vkontakte.ru/away.php — страница с предупреждением о переходе по ссылке;
  • Параметр to сама ссылка. В перекодированном виде выглядела так:
    Api.vKontakte.Ru/oauth/authorize?client_id=2376***&cgpopcvkqdjut4&redirect_uri=vgostivk.dyndns**&display=popup?390852

Тут-то самое интересное и начинается...

Разберем вторую ссылку по частям:
  • Api.vKontakte.Ru/oauth/authorize — обращение к API ВКонтакте, авторизация через OAuth 2.0;
  • client_id=2376***&cgpopcvkqdjut4&redirect_uri=vgostivk.dyndns**&display=popup?390852 — параметры авторизации.

Что означает каждый из параметров:
  • client_id — ID приложения, требующего авторизацию;
  • redirect_uri — адрес, на который будет передан access_token (посредством редиректа);
  • display — вид окна авторизации (page, popup, touch и wap).

Собственно в redirect_uri содержался адрес фишинг сайта. Так как в параметре display была допущена ошибка (в него шел мусор "?390852"), окно авторизации не выводилось, а сразу шел редирект на фишинг сайт с параметрами: error=invalid_request&error_description=Invalid+display+passed

В этом и заключается весь смысл обхода блек-листа вредоносных сайтов ВКонтакте. Появляется только алерт о переходе на api.vk.com. И в результате перехода мы прямиком попадаем на фишинг сайт, который имеется в черном списке. При переходе по ссылке vkontakte.ru/away.php?to=vgostivk.dyndns**:


Как оказалось, приложение, якобы требующее авторизацию висело на взломанном пользователе:


Да и сам фишинг сайт был устроен довольно интересно. Дизайн по обычаю был контактовский и предлагал авторизоваться. Я прошел авторизацию через рандомные почту и пароль, фейк прекрасно проглотил. Дальше было еще интересней, на главной появилась новость от «Павла Дурова»:
image

После нажатия на кнопку «Создать персональный счетчик», последовал прекрасный прогресс-бар. Затем было предложено указать свой номер и отправить sms:
image

По идее после успешной «активации» должно было перекинуть на страницу activ.php, но я не смог попасть туда. Выдержки из JS скриптов фишинг сайта:
...
if(req.status == 200) {
// если статус 200 (ОК) - выдать ответ пользователю
if (req.responseText == 'ok') {
//statusElem.innerHTML = 'Все гуд!';
get_activation();
}
if (req.responseText == 'not') {statusElem.innerHTML = "Неверный код активации";}
//statusElem.innerHTML = "Ответ сервера: "+req.responseText;
...
function get_activation() {
document.location="activ.php";
}


* This source code was highlighted with Source Code Highlighter.

Итог: Мошенники используют обход предупреждений через OAuth 2.0, получают пароль и email пользователя, да еще и пытаются развести на отправку sms (скорее всего используя систему подписок).
Tags:
Hubs:
+53
Comments19

Articles

Change theme settings