6. Cross Site Scripting

Cross Site Scripting (XSS) — это уязвимость, которая возникает, когда злоумышленник внедряет веб-страницу или приложение вредоносный код, который выполняется в браузере другого пользователя. В основном, это происходит потому, что приложение не надежно обрабатывает пользовательский ввод и допускает вставку кода на страницу.

 

Виды уязвимостей XSS:

  • Stored XSS (Сохраненные XSS): Злоумышленник внедряет вредоносный скрипт на сервере, и он сохраняется в базе данных. При запросе страницы пользователем, скрипт выполняется в браузере этого пользователя.
  • Reflected XSS (Отраженные XSS): Вредоносный код внедряется в URL-адрес, который передается на сервер. Сервер включает этот код в ответ, который затем выполнится в браузере пользователя, перешедшего по этой ссылке.
  • DOM-based XSS (DOM-ориентированные XSS): Здесь злоумышленник внедряет вредоносный код, который влияет на DOM (Document Object Model) страницы. Этот тип XSS происходит в браузере, когда он интерпретирует изменения DOM.

 

Потенциальные опасности XSS:

  • Кража данных: Злоумышленник может получить доступ к личным данным пользователя, таким как пароли, куки (файлы сессии), и другие конфиденциальные сведения.
  • Сессионный захват: Атакующий может захватить сессию пользователя и получить доступ к его аккаунту без разрешения.
  • Манипуляция контентом: Злоумышленник может изменять содержимое веб-страницы, что может привести к обману пользователей или даже распространению ложной информации.
  • Распространение вредоносных скриптов: Атакующий может распространять вредоносные скрипты среди пользователей, заставляя их выполнить опасные действия.

 

Изучив данный раздел вы научитесь следующему:

  • Основы JavaScript
  • Теория и виды уязвимостей XSS
  • Эксплуатация XSS:
    • Загрузка кода (Payload) на внешний ресурс
    • Кража сессионных куки
    • Кража данных с бразуера
    • Создание и внедрение кейлогера
    • Кража сохраненных в браузере паролей
    • Фишинг пользователей