XSS Hunter Express
Настраивается за 5 минут и не требует обслуживания
Самый быстрый способ развернуть XSS Hunter для тестирования и поиска слепых межсайтовых скриптовых уязвимостей (blind cross-site scripting).
Настройка (пять минут, постарайтесь не пропускать детали)
Требования
- Установленные
docker и docker-compose
- Хост с как минимум 2 ГБ оперативной памяти
- Имя хоста (например,
host.example.com), которое вы можете привязать к IP-адресу вашего сервера (иметь контроль над DNS)
- [Для уведомлений по электронной почте] Чтобы получать уведомления о срабатывании XSS-пейлоадов по электронной почте, вам понадобится учётная запись электронной почты с действующими SMTP-учётными данными. Для этой цели можно использовать многие обычные почтовые аккаунты, например Gmail. Это не требуется, если вы не хотите получать уведомления по электронной почте.
Настройка вашего экземпляра
Чтобы настроить XSS Hunter Express, измените файл docker-compose.yaml, указав соответствующие параметры, пароли и т. д.
Ниже приведены некоторые поля YAML (в docker-compose.yaml), которые вам нужно изменить перед запуском сервиса:
HOSTNAME: Установите это поле на имя хоста, которое вы хотите использовать для своих пейлоадов и для доступа к веб-панели администратора. Часто оно делается максимально коротким (например, xss.ht), чтобы пейлоад можно было разместить в различных полях для тестирования. Это имя хоста должно быть привязано к IP-адресу вашего экземпляра (через DNS-запись A).
SSL_CONTACT_EMAIL: Чтобы автоматически настраивать и продлевать TLS/SSL-сертификаты через Let's Encrypt, вам необходимо указать адрес электронной почты.
Следующие параметры необходимы, если вы хотите получать уведомления по электронной почте:
SMTP_EMAIL_NOTIFICATIONS_ENABLED: Оставьте включённым, чтобы получать уведомления по электронной почте (для этого также необходимо настроить параметры ниже).
SMTP_HOST: Хост вашего SMTP-сервера, на котором размещена ваша учётная запись электронной почты (например, smtp.gmail.com).
SMTP_PORT: Порт вашего SMTP-сервера (например, 465).
SMTP_USE_TLS: Использовать TLS, если ваш SMTP-сервер его поддерживает.
SMTP_USERNAME: Имя пользователя учётной записи электронной почты на вашем SMTP-сервере (например, exampleuser).
SMTP_PASSWORD: Пароль учётной записи электронной почты на вашем SMTP-сервере (например, Password1!).
SMTP_FROM_EMAIL: Адрес электронной почты вашей учётной записи на SMTP-сервере (например, [email protected]).
SMTP_RECEIVER_EMAIL: Адрес электронной почты, на который будут отправляться уведомления. Он может совпадать с указанным выше, но может и отличаться.
Наконец, следующее стоит учесть тем, кто заботится о безопасности:
CONTROL_PANEL_ENABLED: Если вы хотите минимизировать поверхность атаки вашего экземпляра, вы можете отключить веб-панель управления. В этом случае вы будете получать только электронные письма о срабатывании пейлоадов (результаты по-прежнему будут сохраняться на диске и в базе данных).
Сборка и запуск XSS Hunter Express
После настройки просто выполните следующие команды для запуска сервиса:
# Перейдите в каталог репозитория
cd xsshunter-express/
# Запустите postgres в фоновом режиме
docker-compose up -d postgresdb
# Запустите сервис
docker-compose up xsshunterexpress
Если всё прошло успешно, на экране появится пароль администратора. Используйте его для входа в веб-панель, которая теперь доступна по адресу https://your-hostname.com/admin/.
ПРИМЕЧАНИЕ: Самый первый HTTP-запрос к вашему экземпляру будет медленным, поскольку сервис автоматически сгенерирует TLS/SSL-сертификат. Это займёт всего ~15 секунд.
Возможности
- Управление срабатываниями XSS-пейлоадов: Управляйте всеми своими XSS-пейлоадами в панели управления вашей учётной записи XSS Hunter.
- Мощные XSS-зонды: При каждом срабатывании зонда на уязвимой странице собирается следующая информация:
- URI уязвимой страницы
- Источник выполнения (Origin of Execution)
- IP-адрес жертвы
- Реферер страницы (Page Referer)
- User Agent жертвы
- Все cookie, не помеченные как HTTP-Only
- Полный HTML DOM страницы
- Полный скриншот затронутой страницы
- Ответственный HTTP-запрос (если используется инструмент инъекций, совместимый с XSS Hunter)
- Время, сообщённое браузером
- Сработал ли пейлоад в iframe
- Полная контейнеризация (Docker): Измените конфигурацию под свои параметры и запустите одной командой!
- Автоматическая настройка и продление TLS/SSL: Просто создайте правильные DNS-записи, и XSS Hunter Express автоматически использует LetsEncrypt для настройки и продления соответствующих TLS/SSL-сертификатов.
- Изображения срабатываний пейлоадов, сжатые с помощью
gzip: Все изображения хранятся со сжатием gzip, что позволяет использовать меньше места на жёстком диске вашего экземпляра.
- Минимизация поверхности атаки: При желании можно полностью отключить веб-интерфейс, чтобы минимизировать поверхность атаки вашего экземпляра.
- Полноразмерные скриншоты страниц: Зонды XSS Hunter используют HTML5 canvas API для создания полного скриншота уязвимой страницы, на которой сработал XSS-пейлоад. С помощью этой функции вы можете заглянуть во внутренние административные панели, службы поддержки, системы журналирования и другие внутренние веб-приложения. Это позволяет создавать более убедительные отчёты, демонстрирующие полное влияние уязвимости вашему клиенту или программе bug bounty.
- Отчёты о срабатывании XSS-пейлоадов по электронной почте: При срабатывании XSS-пейлоадов также отправляются подробные отчёты по электронной почте, которые можно легко переслать соответствующим контактным лицам по безопасности для оперативного сообщения о критических ошибках.
- Автоматическая генерация пейлоадов: XSS Hunter автоматически генерирует XSS-пейлоады для использования в тестировании безопасности ваших веб-приложений.
- Сопоставление инъекций: Возможно, самая мощная функция XSS Hunter — это возможность сопоставлять попытки инъекций со срабатываниями XSS-пейлоадов. Используя инструмент тестирования, совместимый с XSS Hunter, вы можете сразу узнать, что вызвало срабатывание конкретного пейлоада (даже спустя недели после попытки инъекции!).
- Захват страниц: После срабатывания вашего XSS-пейлоада вы можете указать список относительных путей, которые пейлоад должен автоматически получить и сохранить. Это полезно для поиска других уязвимостей, таких как некорректные политики
crossdomain.xml во внутренних системах, к которым обычно нет доступа.
- Загрузка вторичного пейлоада: Есть вторичный пейлоад, который вы хотите загрузить после того, как XSS Hunter завершит свою работу? XSS Hunter предлагает возможность указать вторичный JavaScript-пейлоад для выполнения после завершения сбора данных.
- Совместимость с мобильными устройствами: Проверяйте свои пейлоады в баре без ноутбука — веб-интерфейс полностью адаптирован для мобильных устройств.
Скриншоты