Проверка пользовательского ввода

Знает ли кто-нибудь, возможно ли реализовать валидацию пользовательского ввода, особенно для новых пользователей, новых значков администратора и новых полей пользователя?

После тестирования на проникновение мы обнаружили уязвимость к HTML-инъекциям и другим вредоносным вводам в этих областях и хотели бы узнать, есть ли способ дополнительно валидировать эти данные для повышения безопасности (возможно, с помощью регулярных выражений или другим способом достижения того же результата).

Заранее спасибо!

Да, вы или профессиональный разработчик плагинов для Discourse можете написать «относительно простой» плагин для добавления валидации к моделям.

Возможно, вам стоит разместить свой запрос в канале Marketplace?

Какие поля уязвимы для HTML-инъекций?

Вот именно то, что я хотел спросить.

Надеюсь, он сначала сообщит разработчикам в частном порядке, прежде чем мы это сделаем :slight_smile:

Разве Discourse не участвует в программе, по которой они выплачивают вознаграждения за обнаружение уязвимостей безопасности?

Действительно: hackerone

Спасибо за такой быстрый ответ!

Итак, затронутые параметры:

Создание пользователя: name, title, location, bio_raw

Значки: name, description, long_description

Поля пользователя: name, description

Мы являемся частью сообщества, но не сотрудниками. Вам нужно будет получить от них ответ по этому вопросу. Однако, учитывая внимание, которое команда уделяет уязвимостям и безопасности, а также использование общепринятых в отрасли стандартов, я бы воздержался от выводов, пока они не успеют ответить.

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

Я был бы очень удивлен, если бы там разрешалась HTML-инъекция. Пожалуйста, продемонстрируйте это, отредактировав свой профиль здесь с помощью простого примера.

Добро пожаловать в Meta @Cal :wave:

Эти поля проходят санитизацию/экранирование. Кроме того, в Discourse по умолчанию включена CSP.

Они также проходят санитизацию. Кроме того, они доступны только администраторам, и также действует CSP.

Если вы обнаружили проблему безопасности, связанную с вводом данных пользователем, которая возникает при включённой CSP, мы будем рады узнать об этом здесь.