Сегодня ночью обнаружил неприятность в личном кабинете Дзена. Заметил попытку внедрения скрипта на страницу. На страничке отображалась картинка с неверным адресом и кодом:
<img src=x onerror=alert(document.cookie)>Это типичный пример попытки XSS (Cross-Site Scripting) атаки.
- <img src=x> — стандартный HTML-тег изображения с некорректным источником x
- onerror= — обработчик события, который срабатывает при ошибке загрузки изображения
- alert(document.cookie) — JavaScript-код, который пытается получить доступ к кукам пользователя
XSS (Cross-Site Scripting — межсайтовый скриптинг) — тип атаки на веб-системы, заключающийся во внедрении в выдаваемую веб-системой страницу вредоносного кода (который будет выполнен на компьютере пользователя при открытии им этой страницы) и взаимодействии этого кода с веб-сервером злоумышленника.
Точнее даже Stored XSS. Когда вредоносный скрипт сохраняется непосредственно на сервере или в базе данных веб-приложения и может распространяться среди множества пользователей.
Механизм атаки
Когда браузер пытается загрузить несуществующее изображение x, возникает ошибка. Срабатывает атрибут onerror, который исполняет JavaScript-код. Если сайт не имеет защиты от XSS, злоумышленник может украсть куки сессии и, как следствие, получить доступ к личным кабинетам пользователей, у которых в браузере выполнился такой скрипт.

Незамедлительно в службу поддержки Дзен было отправлено уведомление. Утром пришёл ответ.

К счастью, код на странице не сработал, по крайней мере у меня. К тому же сам код не содержал каких-то опасных вещей. Да и отображался открыто. Однако, сам факт внедрения на сайт Дзена такого блока неприятен.
Шалость не удалась?
Причин появления такого элемента на странице нам никто не раскроет, это мог быть и акт некоторого тестирования на проде (тоже некрасиво да и зачем трогать куки?), шалость, легитимная или не очень легитимная попытка обнаружения уязвимостей или действительно тестирование найденной злоумышленниками бреши.
