Инжекция CSS: что хуже, который может произойти?

Привязка CSS работает нормально:

var viewmodel = function(){
var self = this;
  this.gThirdCheckboxEnabled = ko.observable(false);
  this.change = function(){
    self.gThirdCheckboxEnabled(!self.gThirdCheckboxEnabled());
  };
};

ko.applyBindings(new viewmodel());
.chkBxEdit{
  background-color: blue;
}

.chkBx{
  background-color: red;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.4.2/knockout-min.js"></script>
<input data-bind="css: { 'chkBxEdit': gThirdCheckboxEnabled(), 'chkBx': !gThirdCheckboxEnabled() }" />



<button data-bind="click: change">Change</button>

26
задан Michał Perłakowski 23 September 2016 в 13:45
поделиться

2 ответа

Да, ко всему вышесказанному. Инъекция произвольного CSS может привести к выполнению JavaScript. Посмотрите:

Худшее, что может случиться, зависит от окружающей среды. В некоторых случаях кража файла cookie сеанса и доступ к сеансу пользователя может быть самым плохим случаем (например, банки, онлайн-торговля акциями), это может быть не так в вашей ситуации. Другими примерами атак могут стать получение контроля над браузером, получение доступа к компьютеру клиента и т. Д.

2
ответ дан Gerry 28 November 2019 в 17:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: