Рубрика развивается при поддержке HP logo

«Белый хакер» заставил пользователей «ВКонтакте» распространять его записи через уязвимость в обработке смайликов Статьи редакции

Специалист по безопасности ONsec Дмитрий Бумов обнаружил уязвимость во «ВКонтакте»: при отправке смайликов через символы Unicode окно для написания сообщений позволяло выполняться скриптам JavaScript, из-за чего злоумышленники могли производить действия с аккаунтом пользователя: например, от его имени репостить чужие записи. «ВКонтакте» закрыла уязвимость и выплатила хакеру вознаграждение.

Для тестирования обнаруженной уязвимости Бумов рассказал в своём блоге Bo0om.ru о якобы недавно появившихся во «ВКонтакте» анимированных смайликах. На сайте утверждалось, что смайлики пока секретные, поэтому для их отправки нужно скопировать код и вставить в окно набора сообщения.

Хотя сайт и выглядит подозрительно, пользователи могли поверить ему хотя бы из-за существования «секретных» смайликов в Skype. Кроме того, в октябре Apple выпустила iOS 9.1 с поддержкой новых эмодзи: это могло дополнительно сбить людей с толку.

Однако при копировании смайликов (их самих или соответствующей им в стандарте Unicode последовательности символов) в содержимое буфера обмена помещалось не анимированное изображение, а существующий эмодзи-смайлик вместе со строкой кода на JavaScript.

Бумов поместил в код предупреждение «You hacked» и действие репоста. Когда ничего не подозревающий пользователь пытался послать кому-либо анимацию, на его странице незаметно появлялась запись из сообщества Bo0om во «ВКонтакте», причём для этого даже не требовалось нажимать кнопку отправки сообщения.

Как рассказал TJ сам Бумов, во «ВКонтакте» нельзя просто так исполнить JavaScript-код в окне набора сообщения: если скопировать туда инструкцию формата <script>alert(1)</script>, то ничего не произойдёт. Однако если слева от сообщения будет стоять смайлик эмодзи, «ВКонтакте» преобразует символ в изображение и одновременно выполнит сопровождающий его код, так как система не подозревает, что он может быть написан злоумышленником.

Бумов опробовал работу уязвимости 28 октября после того, как ему вновь о ней напомнили, но за сутки эпидемии (как это было в 2013 году из-за XSS-уязвимости) не произошло. По состоянию на 13:45 у искомой записи было всего 11 репостов.

По словам хакера, он обнаружил эту уязвимость ещё в 2014 году, однако не воспринял её серьёзно и не сообщил администрации соцсети. Во-первых, она принадлежала к классу self-XSS, то есть причиной её срабатывания является сам пользователь.

Во-вторых, согласно правилам программы Hacker One «ВКонтакте» не считает социальную инженерию за уязвимость и не выплачивает за такие сообщения об ошибках вознаграждений. Об этом Бумову напомнили 28 октября после того, как он всё-таки решил сообщить «ВКонтакте» о своей находке.

Через некоторое время после того, как TJ обратился во «ВКонтакте» за комментарием, специалисты по безопасности соцсети вновь открыли ветку обсуждения с Бумовым и пообещали ему разобраться в ситуации.

Пресс-секретарь «ВКонтакте» Георгий Лобушкин подтвердил TJ, что уязвимость существовала в действительности. На 14:25 специалисты соцсети уже исправили её, а компания приняла решение выплатить Бумову вознаграждение: сколько именно, Лобушкин не уточнил, но хакер рассказал, что получил перевод в размере 100 долларов.

Несмотря на то, что self-XSS обычно не несёт угрозы для пользователя (без применения социальной инженерии), и мы не принимаем их в качестве уязвимостей по нашей программе bug bounty, в данном случае был продемонстрирован вектор атаки, который пользователи могут воспроизвести, поэтому мы решили выплатить вознаграждение.

Георгий Лобушкин, пресс-секретарь «ВКонтакте»

По словам Бумова, обычно «ВКонтакте» исправно выплачивала вознаграждения за уязвимости. За 2014-2015 годы ему удалось заработать таким образом около 100 тысяч рублей: на часть полученных денег купил себе и жене по моноколёсу. «ВКонтакте» присоединилась к платформе HackerOne в мае 2015 года.

{ "author_name": "Никита Лихачёв", "author_type": "self", "tags": ["\u0445\u0430\u043a\u0435\u0440\u044b","\u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438_\u0432\u043a\u043e\u043d\u0442\u0430\u043a\u0442\u0435","\u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438","\u0441\u043e\u0446\u0438\u0430\u043b\u044c\u043d\u0430\u044f_\u0438\u043d\u0436\u0435\u043d\u0435\u0440\u0438\u044f","\u0441\u0435\u043a\u0440\u0435\u0442\u043d\u044b\u0435_\u0441\u043c\u0430\u0439\u043b\u0438\u043a\u0438_\u0432\u043a\u043e\u043d\u0442\u0430\u043a\u0442\u0435","\u043d\u043e\u0432\u043e\u0441\u0442\u044c","\u043d\u043e\u0432\u043e\u0441\u0442\u0438","\u0434\u043c\u0438\u0442\u0440\u0438\u0439_\u0431\u0443\u043c\u043e\u0432","\u0433\u0435\u043e\u0440\u0433\u0438\u0439_\u043b\u043e\u0431\u0443\u0448\u043a\u0438\u043d","\u0432\u043a\u043e\u043d\u0442\u0430\u043a\u0442\u0435","self_xss","hackerone"], "comments": 5, "likes": 26, "favorites": 9, "is_advertisement": false, "subsite_label": "tech", "id": 56556, "is_wide": true, "is_ugc": true, "date": "Thu, 29 Oct 2015 15:40:55 +0300", "is_special": false }
0
5 комментариев
Популярные
По порядку

Природный Мика

4

Не понял. А в этот раз $100 тоже в голосах выдали?

Ответить

Прямой яд

3

ну как-то маловато

Ответить

Прогрессивный алмаз

Какой-то
1

Ему специально сразу не выплатили — ждали пока рубль вырастет, бюджет не резиновый же.

Ответить

Торжественный корабль

2

Что стало с агентом поддержки который сначала отказался принимать багрепорт?

Ответить

Универсальный турник

1

2015 год. Тег script не экранируется. Ощущение что прыгнул лет на 10 в прошлое.

Ответить
Обсуждаемое
Новости
Путин попросил Госдуму запретить публично отождествлять роли СССР и Германии во Второй мировой войне
Законопроект должны рассмотреть во время весенней сессии Госдумы.
Новости
Советник Кадырова пообещал подравшемуся с силовиками на митинге чеченцу «решить вопрос с властями», если тот сдастся
20-летний Сайд-Мухамад Джумаев рассказал родственникам, что в момент драки был в невменяемом состоянии — перед этим его кто-то ударил по голове.
Новости
«Вышло мало»: Песков заявил, что на акции протеста выходит намного меньше людей, чем голосуют за Путина
Пресс-секретарь президента РФ призвал зрителей расследования о «дворце Путина» не позволять «делать из себя идиотов».
Популярное за три дня
Петербург
В Петербурге силовик сильно ударил ногой в живот женщину, вышедшую перед ним
Женщину увезли в медпункт.
Новости
Прямая трансляция: Акции в поддержку Алексея Навального 23 января
Митинги проходят после задержания основателя ФБК и выхода расследования о «дворце Путина» под Геленджиком.
Новости
Силовик хотел задержать девушку и юношу, но согласился вместо них отвести в автозак другого человека.

Комментарии

null