XSStrike README

The project's README from github.com/s0md3v/XSStrike. As one markdown file: README.md.


XSStrike
XSStrike

Advanced XSS Detection Suite

multi xss

XSStrike Wiki • Usage • FAQ • For Developers • Compatibility • Gallery

XSStrike is a Cross Site Scripting detection suite equipped with four hand written parsers, an intelligent payload generator, a powerful fuzzing engine and an incredibly fast crawler.

Instead of injecting payloads and checking it works like all the other tools do, XSStrike analyses the response with multiple parsers and then crafts payloads that are guaranteed to work by context analysis integrated with a fuzzing engine. Here are some examples of the payloads generated by XSStrike:

}]};(confirm)()//\
<A%0aONMouseOvER%0d=%0d[8].find(confirm)>z
</tiTlE/><a%0donpOintErentER%0d=%0d(prompt)``>z
</SCRiPT/><DETAILs/+/onpoINTERenTEr%0a=%0aa=prompt,a()//

Apart from that, XSStrike has crawling, fuzzing, parameter discovery, WAF detection capabilities as well. It also scans for DOM XSS vulnerabilities.

Main Features

Installation

Enter the following commands one by one in terminal:

git clone https://github.com/s0md3v/XSStrike
cd XSStrike
pip install -r requirements.txt --break-system-packages

Now, XSStrike can be used at any time as follows:

python xsstrike.py

Documentation

FAQ

DOM XSS

dom xss

Reflected XSS

multi xss

Crawling

crawling

Fuzzing

fuzzing

Bruteforcing payloads from a file

bruteforcing

Interactive HTTP Headers Prompt

headers

Hidden Parameter Discovery

arjun

Contribution, Credits & License

Ways to contribute

Licensed under the GNU GPLv3, see LICENSE for more information.

The WAF signatures in /db/wafSignatures.json are taken & modified from sqlmap. I extracted them from sqlmap's waf detection modules which can found here and converted them to JSON.
/plugins/retireJS.py is a modified version of retirejslib.

XSStrike (s0md3v/XSStrike)

Searching Database…

15.2K ·GitHub
Что это такое?XSStrike — это набор для обнаружения межсайтового скриптинга (XSS), построенный вокруг четырёх написанных вручную парсеров, интеллектуального генератора пейлоадов, движка фаззинга и быстрого краулера. Вместо того чтобы просто расстреливать цель универсальными пейлоадами, как большинство сканеров, он анализирует живой ответ и за счёт анализа контекста формирует пейлоады, которые гарантированно сработают.
Это отдельный сканер или библиотека для импорта в код?Это консольный Python-инструмент, который вы запускаете из терминала против целевого URL, а не библиотека для импорта.
Как его запустить?Склонируйте репозиторий, установите Python-зависимости, затем запускайте скрипт xsstrike.py против вашей цели из терминала.
Что нужно установить перед запуском?Лишь Python 3 с зависимостями из requirements.txt; в FAQ отдельно упоминается fuzzywuzzy — именно на нём чаще всего спотыкаются при настройке.
Поймает ли он каждый XSS и не будет ли ложных срабатываний?Нет — в собственном FAQ проекта открыто обсуждается уровень ложных срабатываний и пропусков, а обнаружение Blind XSS — отдельный, более замороченный процесс, а не то, что просто работает из коробки.
Для кого это сделано?Для пентестеров и исследователей безопасности, которым нужно активно проверять веб-приложения на reflected- и DOM-based XSS, включая брутфорс пейлоадов и поиск скрытых параметров.
Для чего используются Photon, Zetanize и Arjun?Это сопутствующие проекты того же автора, на которых держатся функции XSStrike: краулинг (Photon), генерация пейлоадов (Zetanize) и поиск скрытых параметров (Arjun).
Что здесь означает обнаружение и обход WAF?XSStrike снимает отпечаток файрвола веб-приложений цели по сигнатурам, взятым из sqlmap, а затем подгоняет свои пейлоады, чтобы попытаться проскочить мимо этого конкретного WAF.
Как устроена поддержка Blind XSS?Она позволяет внедрять пейлоады, которые срабатывают позже — например, в админ-панели или просмотрщике логов, поэтому нужен внешний сборщик колбэков, чтобы поймать результаты, когда они сработают.
Могу ли я использовать код XSStrike в своём закрытом инструменте?FAQ в README поднимает этот вопрос напрямую, и, поскольку проект лицензирован под GPLv3, любая производная работа, переиспользующая его код, тоже должна выходить под GPLv3, так что в проприетарное ПО его не вплести.
Creator
s0md3v
Size
1.2 MB
Stars
15.2K
Age
9y
Commits · 90 Days