Ответ 1
Существует определенная проблема для NodeJS, MongoDB (и некоторых других баз данных NoSQL, которые сильно используют javascript): serverside javascript injection. Посмотрите здесь и здесь (pdf). Это больше похоже на SQL-инъекцию, чем на XSS.
Вскоре, когда атакующий отправляет javascript на ваш nodejs или mongodb, когда вы ожидаете только JSON. Таким образом, теоретически плохой парень может снизить вашу службу (DOS), получить доступ к вашим данным и даже файловой системе.
Чтобы предотвратить такие атаки, вам необходимо:
- Избегайте создания "ad-hoc" команд JavaScript путем объединения script с пользовательским вводом.
- Подтвердите ввод пользователя, используемый в командах SSJS с регулярными выражениями.
- Избегайте использования команды JavaScript eval. В частности, при анализе ввода JSON используйте более безопасную альтернативу, такую как JSON.parse.