Ответ
Cross-Site Scripting (XSS) — это тип уязвимости веб-приложений, который позволяет злоумышленнику внедрять вредоносный клиентский код (обычно JavaScript) на веб-страницы, просматриваемые другими пользователями. Цель — выполнить код в браузере жертвы для кражи данных (cookie, токены сессий), изменения содержимого страницы или перенаправления на фишинговые сайты.
**Основные типы XSS:**
1. **Отражённый (Reflected XSS):** Вредоносный скрипт передаётся через URL или форму, и сервер сразу же "отражает" его в ответе пользователю. Скрипт не сохраняется на сервере.
2. **Хранимый (Stored/Persistent XSS):** Атакующий сохраняет вредоносный скрипт в базе данных на сервере (например, в комментарии, профиле пользователя). Скрипт выполняется каждый раз, когда кто-то просматривает заражённую страницу.
3. **На основе DOM (DOM-based XSS):** Уязвимость находится в клиентском коде, который манипулирует DOM-деревом страницы на основе пользовательского ввода без участия сервера.
**Пример уязвимого кода (Python/Flask):**
```python
from flask import Flask, request
app = Flask(__name__)
# Уязвимый эндпоинт
@app.route('/search')
def search():
query = request.args.get('q', '')
# Прямой вывод пользовательского ввода без экранирования
return f"