поле ввода немедленно выполняет любой написанный код js - PullRequest
0 голосов
/ 28 сентября 2018

У нас есть текстовый ввод, который связан с переменной в угловом контроллере.

<input type="text" class="form-control" ng-model="activityTypeStatement.InformationText" />

На контроллере нет других привязок, нет ng-watch, но всякий раз, когда я вставляю или пишу некоторый js-код внутри него, он выполняется немедленно без необходимости отправки.И это возможная уязвимость XSS, которую я пытаюсь устранить.

Сценарии выполнения кода;

Вставка <script>alert(1)</script>

Ввод <script>alert(1) (выполняется до закрытиятег, который я нашел подозрительным)

Сначала набрав alert(1), а затем добавив <script> перед ним

Я думал о настройке ng-watch для ввода и использовании ng-sanitize навходное значение, но поскольку оно выполняется без отправки, я не уверен, работает ли оно.

Только упоминание InformationText на контроллере содержится в объявлении объекта.

Как можно убедиться, что входные данные вэто поле не будет вызывать XSS-атаки?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...