Чому XSS має місце

21:25 21.09.2006

Я вже згадував раніше про сайт ha.ckers.org - безпека веб додатків. Автор сайту, RSnake, в своїй статті Why XSS is Here to Stay описує основні причини, чому Cross-Site Scripting уразливості мають і будуть мати місце. І в цьому питанні я з ним погоджуюсь.

Основні причини поширення XSS:

  • Аналітичні сервіси - щоб вирішити кардинально проблему XSS, потрібно відмивитися від включення віддалених скриптів (на JavaScript), але на це не підуть компанії, які надають, наприклад, аналітичні сервісі - ті ж рахівники різного гатунку (а з минулого року цим почала займатися Google). Я вже не кажу про повну відмову від JavaScript - ніхто на це не піде (хоча це вирішить багато проблем з безпекою), бо всі до нього звикли і дуже багато сервісів на ньому базується.
  • Контекстна та банерна реклама - системи контекстної та здебільшого й банерної реклами базуються саме на JavaScript коді, розміщеному на сторінках веб сайтів (прочитайте мою замітку Хакінг сайту через уразливості в коді зовнішніх систем). Дуже багато людей зайняті в цій сфері, як самих компаній, так і власників сайтів - тому ніхто від цього не захоче відмовитися. Зокрема тому, що в цій сфері обертаються гроші (які заробляють як власники рекламних систем, так і власники сайтів).
  • AJAX - він базується на віддалених запитах JavaScript, тому нічого вдіяти тут не вийде, якщо ми хочемо AJAX, який є основою Web 2.0, ми повині миритися з його недоліками (і в тому числі з можливістю XSS). Інакше, ми залишимося веб самого AJAX-а, і повернемося до Веб 1.0 (та й багато компаній задіяні зараз в ajax напрямку, які не захочуть від своїх планів відмовитися).
  • Akamai - це система кешування відвідуємих веб сайтів, яка вимагає наявність JavaScript в браузері користувача (з відповідними наслідками).
  • Завантаження сторінок і SEO - з точки зору швидкості завантаження сторінок, яка зменшується від наявності JS-коду на сторінках сайтів, а також з точки зору релевантності сторінки для пошукових систем (SEO), та й з точки зору трафіка, то з цих причин власники сайтів намагаються розміщати віддалени скрипти (різноманітних систем), і тому даний функціонал вкрай потрібен для власників сайтів.

З наведених причин (лише деяких з усіх можливих) ви можете побачити, що кардинально змінити ситуацію (в браузерах), як мінімум заборонити віддалені запити в JavaScript, не має можливості - тому що велика кількість різноманітних компаній (як великих, так і малих) та й самих інтернет користувачів, аж ніяк не забажає відмовитися від даного функціоналу, який дарує як зручності, так і наражає на небезпеку.

Тому єдиним засобом на сьогодні для боротьби з XSS є пошук і виправлення уразливостей :!: З приводу пошуку уразливостей (і рекомендацій щодо їх виправлення) можна звертатися до мене.


Leave a Reply

You must be logged in to post a comment.