HexBrain

DRIVE.NET, Inc. · Report #771882

Хранимый XSS в Business-аккаунте, на странице компании

Validstatus
highseverity
36upvotes
17 Jan 2020disclosed

How it was found

Приложение уязвимо к атакам Типа "Межсайтовое выполнение сценариев". Тип XSS - Хранимый (Persistent). Для воспроизведения атаки нужно зарегистрироваться на сайте drive2.ru и подключить бизнес-аккаунт. После чего переходим в панель управления компанией и заполняем все необходимые поля для успешной регистрации на сайте. Нам интересует поле "Название компании" которое и выводится на сайте без необходимой фильтрации. Заполняем форму компании, а в поле "Название компании" пишем наш payload, например:

<svg/onload=confirm(document.domain)>

После успешного сохранения данных переходим на страницу компании и наш JavaScript автоматически выполняется. {F680923} {F680924}

Impact

Уязвимость недостаточной фильтрация данных, которые попадают в контекст HTML можно использовать по разному, от банального фишинга до проведения атаки XSS. В нашем случай XSS хранимый, что делает атаку более опасным, так как нет необходимости отправлять жертве ссылку которая содержит вредоносный код. При браузинге страницы компании XSS payload выполнится автоматически. С помощью XSS атакующий может красть пользовательские куки, которые не защищены флагом "httpOnly". Помимо этого можно выполнить редирект на вредоносные сайты и так далее. Для защиты от подобных уязвимостей рекомендую тщательно проверять данные которые попадают в контекст HTML. Спецсимволы которые могут быть использованы для проведения атаки XSS/Content Injection должны быть сконвертированы в сущности HTML. Рекомендуется использовать флаги "secure" и "httpOnly" для сессионных/авторизационных кук.

This report was disclosed publicly on HackerOne and belongs to its author and the program. See the original