Як застосовувати активну xss


 

Незважаючи на швидкий розвиток комп’ютерних технологій, забезпечення безпеки при роботі в мережі все ще залишається найважливішим питанням. Одними з найпоширеніших є XSS-вразливості, що дозволяють зловмисникові отримати повний контроль над інтернет-ресурсом. Щоб переконатися в безпеці власного сайту, слід перевірити його на присутність даної уразливості.


Інструкція

  1. Суть XSS-вразливості полягає в можливості виконання на сервері стороннього скрипта, що дозволяє хакеру вкрасти конфіденційні дані. Зазвичай крадуться кукіси: підставивши їх замість своїх, зловмисник може зайти на сайт з правами тієї людини, чиї дані він вкрав. Якщо це адміністратор, то і хакер увійде на сайт з повноваженнями адміністратора.
  2. XSS-вразливості діляться на пасивні і активні. Використання пасивної припускає, що скрипт вдається виконати на сайті, але не зберегти на ньому. Для використання такої вразливості хакеру треба під тим або іншим приводом змусити вас перейти по надісланої їм посиланням. Наприклад, ви адміністратор сайту, отримуєте особисте повідомлення і переходите за вказаною в ньому посиланням. При цьому кукіси йдуть на сніффер — програму для перехоплення потрібних хакеру даних.
  3. Активні XSS зустрічаються набагато рідше, але вони набагато небезпечніше. В цьому випадку шкідливий скрипт зберігається на сторінці сайту — наприклад, в повідомленні форуму або гостьової книги. Якщо ви зареєстровані на форумі і відкриваєте таку сторінку, ваші кукіси автоматично йдуть до хакеру. Саме тому так важливо уміти перевірити свій сайт на присутність даних уразливостей.
  4. Для пошуку пасивної XSS зазвичай використовується рядок «> alert () вводиться в поля для введення тексту, найчастіше в пошукове поле сайту. Вся хитрість у першій лапки: при помилку в фільтрації символів лапки сприймається як закриває пошуковий запит, і стоїть після неї скрипт виконується. Якщо вразливість є, ви побачите на екрані спливла віконце. Уразливість цього виду дуже поширена.
  5. Пошук активної XSS починається з перевірки того, виконання яких тегів дозволено на сайті. Для хакера найбільш важливими є теги img і url. Наприклад, спробуйте вставити в повідомлення посилання на картинку виду: [img] http://www.site.ru/image.jpg[/img] ( http://www.site.ru/image. jpg [/ img] ). Адреса може бути будь-яким, власне картинка тут не потрібна. Хакеру важливо побачити, вставила його картинка в повідомлення. Якщо так, то в повідомленні на місці картинки з’явиться червоний хрестик (адже реально картинки немає). Далі він перевірить, чи можна вставити пробіл після розширення *. Jpg: [img] http://www.site.ru/image.jpg ( http://www.site.ru/image.jpg ) [/ img].
  6. Якщо знову з’явився хрестик, хакер на півдорозі до успіху. Тепер він додає після розширення *. Jpg ще один параметр: [img] http://www.site.ru/image.jpg ( http://www.site.ru/image.jpg ) lowsrc = javascript: alert () [/ img]. Повідомлення з хрестиком знову з’явилося на сторінці: тепер у кожного, хто її відкриє, буде з’являтися спливаюче віконце. Це означає, що вразливість є і працює. Тепер хакеру залишається видалити свої повідомлення і вставити нове, з посиланням на сніффер замість коду, що виводить попереджувала віконце.
  7. Як захистити сайт від атак через XSS-вразливості? Намагайтеся, щоб на ньому було якомога менше полів для введення даних. Причому «полями» можуть стати навіть радіокнопки, чекбокси і т.д. Є спеціальні хакерські утиліти, що виводять на сторінці браузера всі приховані поля. Наприклад, IE_XSS_Kit для Internet Explorer. Знайдіть цю утиліту, встановіть її — вона додасться в контекстне меню браузера. Після цього перевірте всі поля свого сайту на можливі уразливості.