Исследователь компании ONsec Дмитрий Бумов уже не раз находил уязвимости в социальной сети «ВКонтакте» и получал вознаграждения за свои находки. На этот раз Бумов нашел self-XSS баг в системе, при помощи которой социальная сеть обрабатывает отправку смайликов-эмодзи.
На данный момент уязвимость уже устранена, так как специалисты «ВКонтакте» отреагировали на проблему очень оперативно. Бумов обнаружил, что при копировании в окно сообщения Unicode символов, использующихся для обозначения эмодзи, туда же можно добавить вредоносный JavaScript. В частности, используя такую технику, можно заставить жертву репостить чужие записи, и она даже не узнает об этом.
Чтобы проверить свою теорию в действии, Бумов прибег к простейшей социальной инженерии. В своем блоге и сообществе «ВКонтакте» он разместил запись, в которой рассказал, что «ВКонтакте» якобы появились секретные анимированные смайлы. Чтобы воспользоваться ими, пользователю предлагали скопировать Unicode символы из поста в окно отправки сообщения.
Внимательный пользователь заметил бы, что, в ходе копирования, в буфере, помимо Unicode, также оказывается некий скрипт, притом честно предупреждающий: «You hacked». Скрипт незаметно репостил запись о «секретных смайлах» из сообщества Бумова на страницу попавшегося на удочку пользователя. Что особенно интересно, для осуществления атаки, жертве даже не нужно было нажимать кнопку «Отправить», отсылая кому-то секретную анимацию, -- скрипт срабатывал и без этого.
Изданию TJournal исследователь пояснил, что была одна хитрость. Если просто вставить в окно сообщения скрипт вида <script>malwarecode</script> ничего не произойдет: социальная сеть не станет выполнять код. Но если в сообщении так же содержатся Unicode-символы, которые нужно преобразовать в эмодзи, «ВКонтакте» выполнит данную операцию, а заодно обработает и скрипт.
По собственному признанию, Бумов обнаружил этот баг еще в 2014 году, но тогда не стал заниматься его проверкой и сообщать об этом администрации социальной сети. Теперь, когда у исследователя «дошли руки», он испытал теорию на практике, и запись о «секретных смайлах» за сутки набрала всего пару десятков репостов. Впрочем, их хватило для удачного теста.
Хотя обычно за подобные хитрости и применение социальной инженерии для атак «ВКонтакте» вознаграждения не выплачивает, на этот раз представители социальной сети решили сделать исключение. Хотя self-XSS, как правило, неопасны и тоже не участвуют в bug bounty, в данном случае Бумов продемонстрировал интересный вектор атаки, которой, к тому же, легко повторить. Исследователь сообщил, что ему перевели на счет символические $100.