Суббота, 12.07.2025, 21:07 Приветствую Вас Гость


О Фермере и не только...

Главная | Регистрация | Вход | RSS
Меню сайта
Категории раздела
Хитрости, советы и не только [9]
Мини-чат
Наш опрос
Какой у вас уровень?
1. 90-100
2. 1-10
3. 10-20
4. 20-30
5. 30-40
6. 40-50
7. 50-60
8. 60-70
9. 70-80
10. 80-90
Всего ответов: 27
Главная » Статьи » Ресторатор » Хитрости, советы и не только

Уязвимость на сайте Вконтакте ру



Уязвимость позволяет производить некоторые действия вконтакте от чужого имени.
В дальнейшем человека, от лица которого мы будем совершать эти действия, буду называть “жертва”.

1.
Сайт вконтакте.ру устроен таким образом, что если закрыть страницу
сайта, а потом снова ее открыть, страница откроется, не запросив
пароль.
2. Сайту, как я понял, все равно каким методом мы посылаем данные из формы - GET или POST - он их обрабатывает одинакого.

Мы можем воспользоваться этим.

Сформировав определенный URL в адресной строке браузера, мы можем производить некоторые действия.
Но, сайт не так просто сделан.


1. В некоторых формах есть скрытые поля с секретным кодом. Не зная этот
код, мы ничего не сможем сделать. Но узнать его не просто, поэтому
такие формы я не буду затрагивать в статье.
2. Сайт проверяет значение $_SERVER['HTTP_REFERER'], но мы обойдем эту проверку с помощью Flash.

Для того, чтобы все отработало успешно, нужно:

1. Чтобы у жертвы в браузере был включен Flash. (У большинства людей,
сидящих в этой социальной сети, он включен, т.к. без него не работают
многие сервисы контакта: музыка, видео, приложения и т.д.)
2.
Чтобы жертва была залогинена вконтакте. (Большинство людей не нажимают
кнопку “Выход” вконтакте, даже когда выходят из-за компа, поэтому с
этим условием, думаю, проблем тоже не возникнет.)

Для примера,
попробуйте ввести в адресной строке браузера в новом окне следующий
URL: http://vkontakte.ru/groups.php?act=enter&gid=777107
Вы автоматически вступили в группу “В Контакте | Безопасность”.

Теперь выйдите из группы и попробуйте перейти по точно такой же ссылке:
http://vkontakte.ru/groups.php?act=enter&gid=777107
Теперь
вступить в группу вам не удалось, а все по одной причине: переходя по
ссылке с любого сайта, в контакт передается значение предыдущей
страницы, и, в целях безопасности, он блокирует такие действия. Мы же,
чуть позже, обойдем эту защиту.

Приведу еще пример - откройте в новом окне следующую страницу: http://vkontakte.ru/settings.php?act=addToBlackList&id=1
Вот и создатель этого сайта оказался у вас в игноре.
Подобным образом можно совершать разные действия (их список в конце статьи)

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

Но, прежде, чем использовать эту уязвимость на жертве, мы потренеруемся на себе.
В примере мы создадим скрипт, добавляющий людей в ту же группу -”В Контакте | Безопасность”.
От вас требуются элементарные знания HTML.

Выглядеть будет это так:
Мы кидаем жертве ссылку на наш сайт.
Жертва открывает эту ссылку.
На сайте находится скрытый фрэйм.

Этот фрэйм ссылается на специальный Flash-скрипт, который
перенаправляет нас на все тот же адрес:
http://vkontakte.ru/groups.php?act=enter&gid=777107.
Т.к. идет перенаправление через флэш, то адрес предыдущей страницы не передастся, а значит контакт выполнит наше действие.
Когда в скрытом фрэйме откроется эта страница, жертва незаметно добавится в группу “В Контакте | Безопасность”.

Приступим?

Практика.

Шаг 1. Создаем флэшку.
Для начала, создадим эту флэшку.
Для ее быстрого создания я написал специальный скрипт: http://swfgen.m0nster.tu2.ru
Скрипт запросит у вас URL. Вводите туда http://vkontakte.ru/groups.php?act=enter&gid=777107 и жмите “ОК“.
Скрипт вернет вам ссылку на готовую флэшку.
Качаем флэшку на комп и переименовываем в более читаемый вид. Пусть будет vkontakte.swf

Шаг 2. Создаем HTML страничку.
Теперь создаем HTML-страничку. Пусть она будет называться просто index.html.
Пишем там любую чушь, главное, чтоб не вызвать подозрения у жертвы, что тут что-то неладное.
Что написать на странице - дело ваше.
После этого вставляем куда-нибудь в тело странички скрытый

(На этом этапе может возникнуть вопрос,
почему не сделать просто display:hidden, например. А потому, что в
таком случае флэш не отработает)

Шаг 3.
Теперь у нас есть два файла: vkontakte.swf и index.html
Регистрируем какой-нибудь сайт на бесплатном хостинге.
Нам даже поддержка PHP не нужна, поэтому почти любой хостинг нам подойдет.
Загружаем на свеженький сайт наши файлы.
И попробуем открыть страничку index.html.
Открывается страничка, ничего странного вроде не наблюдается…

Теперь открываем нашу страницу Вконтакте и смотрим список групп - если
там появилась группа “В Контакте | Безопасность”, значит, все
отработало успешно.
Можно выйти из этой группы и снова открыть нашу страницу index.html, чтобы точно удостовериться, что все работает.

Все, мы научились делать это.
Теперь попробуем что-нибудь посложнее.
Давайте удалим какую-нибудь фотку у друга.
Для этого нужно знать ID фото.
Узнать его не сложно: открываем страницу просмотра нужной(а точнее ненужной) фотографии и смотрим адрес страницы.
Там что-то типа такого: http://vkontakte.ru/photos.php?act=show&id=1234567_987654321.
В этом случае ID фото будет 1234567_987654321. Вы же делаете по аналогии.
Когда узнали идентификатор фотографии, идем к уже знакомому скрипту, который сгенерирует нам флэшку.
Пишем в поле URL следующий код: http://vkontakte.ru/photos.php?act=do_fdelete&id=ИД_ФОТО
Дальше все уже знакомо: переименовываем флэшку, создаем HTML страничку, там

Категория: Хитрости, советы и не только | Добавил: DeLLiaNs (15.09.2009)
Просмотров: 2184 | Комментарии: 2 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа
Друзья сайта
  • мягкая мебель
  • запчасти для иномарок
  • Статистика

    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0