Однако, для разработчиков оставили способ отрисовать html+js в динамике, если это действительно необходимо:
PS: Ну и всякие documentWrite остаются, конечно:
Props Injections
В React есть возможность передать в компонент массив с переопределенными атрибутами. Если атакующий может контролировать этот массив, то он сможет определить ключ атрибута dangerouslySetInnerHTML и добавить туда свою нагрузку:
Один только нюанс: это сработает только в том случае, если в PROPS_INJ_PAYLOAD не содержится других ключей, иначе React/Webpack выведут ошибку:
Injectable Attributes
CSS in JS
У React есть возможность определять стили для компонентов прямо в JS коде, используя JS синтаксис:
Короч есть какая-та возможность делать css injection. Но я не разобрался. Надо лезть в документацию и смотреть разницу между class и className (один из них безопасный, другой — нет) и как делать Attribute Injection в эти поля.