
Интерфейс командной строки для эксплуатации XSS и генератор полезных нагрузок.
toxssin — это инструмент тестирования на проникновение с открытым исходным кодом, который автоматизирует процесс эксплуатации уязвимостей межсайтового скриптинга (XSS). Он состоит из HTTPS-сервера, который работает как интерпретатор трафика, генерируемого вредоносной JavaScript-нагрузкой, обеспечивающей работу этого инструмента (toxin.js).
Этот проект начинался (и до сих пор остается) творческим исследовательским начинанием, направленным на изучение глубины эксплуатации, которую может предоставить уязвимость XSS, с использованием чистого JavaScript, доверенных сертификатов и дешевых трюков.
Отказ от ответственности: Использование этого инструмента против веб-приложений, на тестирование которых у вас нет явного разрешения, является незаконным. Вы несете ответственность за любые проблемы, которые могут возникнуть при использовании этого инструмента.
https://www.youtube.com/watch?v=Z9I4UJUBrrY

Больше скриншотов здесь.
По умолчанию JavaScript-нагрузка toxssin автоматически распространяется по элементам и информации веб-страницы, злоупотребляя объектом XMLHttpRequest для перехвата:
Самое главное, toxssin:
git clone https://github.com/t3l3machus/toxssin
cd ./toxssin
pip3 install -r requirements.txt
Для запуска toxssin.py вам потребуется предоставить SSL-сертификат и файлы закрытого ключа.
Если у вас нет домена с доверенным сертификатом, вы можете выпустить и использовать самоподписанные сертификаты с помощью следующей команды (хотя это далеко вас не приведет):
openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365
Настоятельно рекомендуется запускать toxssin с доверенным сертификатом (см. Как получить действительный сертификат в этом документе). Тем не менее, вы можете запустить сервер toxssin следующим образом:
python3 toxssin.py -u https://your.domain.com -c /your/certificate.pem -k /your/privkey.pem
Посетите вики проекта для дополнительной информации.
По моему опыту, существует 4 основных препятствия при попытке включения внешних JS-скриптов в атаках с использованием межсайтового скриптинга:
Content-Security-Policy с директивой script-src, установленной только на определенные домены, заблокирует загрузку скриптов с внешних доменов. Toxssin использует функцию eval() для доставки своей нагрузки, поэтому, если на сайте есть CSP и в директиве script-src не указан источник unsafe-eval, атака, скорее всего, завершится неудачей (я работаю над вторым методом доставки нагрузки, чтобы обойти это).Примечание: Ошибка "Mixed Content" может, конечно, возникнуть, когда целевой веб-сайт размещен через HTTP, а JavaScript-нагрузка — через HTTPS. Это ограничивает область применения toxssin только веб-сайтами с HTTPS, так как (по умолчанию) toxssin запускается только с SSL.
Во-первых, вам нужно владеть доменным именем.
Вы можете найти бесплатные варианты на freenom. Сделать это правильно немного сложно. Я предлагаю следовать этому обучающему видео. Кроме того, если вы создаете учетную запись впервые, убедитесь, что выбранная вами страна соответствует вашему IP-адресу, иначе могут возникнуть ошибки.
Купите домен в службе регистрации (например, https://www.namecheap.com/). Самый экономичный способ — поискать случайное строковое доменное имя (например, "fvcm98duf") и проверить менее популярные TLD, такие как .xyz, так как они, вероятно, будут стоить около 3 долларов в год.
После покупки доменного имени вы можете использовать certbot (Let's Encrypt), чтобы получить доверенный сертификат за 5 минут или меньше:
Совет: Не устанавливайте и не запускайте certbot самостоятельно, могут возникнуть неожиданные ошибки. Следуйте инструкциям.
2022-06-19 — Добавлена команда exec в приглашении (теперь вы можете выполнять пользовательские JS-скрипты для сеанса).
2022-06-23 — Я добавил два простых, грязных скрипта в качестве шаблонов для тестирования команды exec. Также исправил доступ к истории назад в командной строке и внес некоторые улучшения.
Идея состоит в том, чтобы сделать его более острым, надежным и расширить его возможности. В настоящее время я работаю над улучшением захвата файлов.