Menu

Tree [50cb32] master /
 History

HTTPS access


File Date Author Commit
 .github 2019-11-16 epsylon epsylon [779833] XSSer v1.8.2 - 'The Hiv3' release
 core 3 days ago psy psy [50cb32] fixed dependencies
 debian 3 days ago psy psy [50cb32] fixed dependencies
 doc 3 days ago psy psy [50cb32] fixed dependencies
 gtk 2026-07-09 psy psy [cd1cf6] XSSer v1.9 - 'Bl4ck Swarm' release
 tests 2026-07-09 psy psy [cd1cf6] XSSer v1.9 - 'Bl4ck Swarm' release
 .gitattributes 2019-11-16 epsylon epsylon [779833] XSSer v1.8.2 - 'The Hiv3' release
 .gitignore 2026-07-09 psy psy [cd1cf6] XSSer v1.9 - 'Bl4ck Swarm' release
 MANIFEST.in 3 days ago psy psy [50cb32] fixed dependencies
 Makefile 2026-07-09 psy psy [cd1cf6] XSSer v1.9 - 'Bl4ck Swarm' release
 README.md 3 days ago psy psy [50cb32] fixed dependencies
 pyproject.toml 3 days ago psy psy [50cb32] fixed dependencies
 requirements.txt 3 days ago psy psy [50cb32] fixed dependencies
 setup.py 3 days ago psy psy [50cb32] fixed dependencies
 xsser 2026-07-09 psy psy [cd1cf6] XSSer v1.9 - 'Bl4ck Swarm' release

Read Me

XSSer



Cross Site "Scripter" (aka XSSer) is an automatic -framework- to detect, exploit and report XSS vulnerabilities in web-based applications.

It provides several options to try to bypass certain filters and various special techniques for code injection.

Key features:

 - [ > 1500 ] pre-installed XSS attacking vectors (automatic fuzzing).
 - Validation: each finding is verified for real executability. A context-aware engine tells apart executable contexts (HTML, JS, event handlers, javascript:/data: URIs) from harmless reflections, with an optional headless-browser reverse connection (--reverse-check) to confirm findings and cut false positives.
 - Targeting: URL, file, stdin/pipe, raw HTTP request (-r), 'dorking' (multiple engines) and crawler.
 - Injection: GET/POST, Cookie/User-Agent/Referer, DOM and HTTP Response Splitting.
 - Evasion: per-WAF bypassers + character-encoding bypassers; proxy/Tor; client-certificate auth.
 - Reporting: PDF (professional), XML and JSON (for CI / pipelines).

It can also bypass-exploit code on several WAFs:

 [Cloudflare]: Cloudflare WAF
 [Akamai]: Akamai (Kona / App & API Protector)
 [AWS]: AWS WAF
 [Azure]: Azure Front Door WAF
 [Imperva]: Imperva (Incapsula / Cloud WAF)
 [F5]: F5 BIG-IP ASM / Advanced WAF
 [Barracuda]: Barracuda WAF
 [ModSec]: Mod-Security + OWASP CRS v3
 [Wordfence]: Wordfence (WordPress)
 [Sucuri]: Sucuri (CloudProxy)
 [FortiWeb]: Fortinet FortiWeb
 [WebKnight]: AQTRONIX WebKnight

XSSer


Installing:

XSSer runs on many platforms. It requires Python (>=3.9).

Only two libraries are mandatory (the core HTTP engine and the HTML parser):

- pycurl        - Python bindings to libcurl
- beautifulsoup4 - error-tolerant HTML parser

The rest are optional and only needed for a specific feature. If missing, XSSer
can auto-install them on demand (pip) the first time the feature is used, except
on 'externally-managed' (PEP 668) Python environments, where it prints the manual
install command instead (set XSSER_AUTOINSTALL=1 to override):

- fpdf2         - '--pdf' report exporter                    [extra: pdf]
- ddgs          - 'dorking' engine ('-d' / '-l')            [extra: dork]
- selenium      - DOM / reverse-check browser ('--Dom')      [extra: dom]
- PyGObject + pycairo + pygeoip + Pillow - GTK GUI + GeoMap ('--gtk')  [extra: gtk]

Install (from the source tree), core only or with the extras you want:

pip3 install .                 # mandatory libs only
pip3 install .[pdf]            # + PDF reporting
pip3 install .[full]          # everything (all optional features)

On Debian-based systems (ex: Kali, Ubuntu, ParrotSec) the same libs are also
packaged. The distro package name differs from the pip name; the mapping is:

pip name        Debian/Ubuntu/Kali package
------------    --------------------------
beautifulsoup4  python3-bs4
pycurl          python3-pycurl
fpdf2           python3-fpdf2
selenium        python3-selenium
PyGObject       python3-gi
pycairo         python3-cairo   (+ python3-gi-cairo for GTK integration)
Pillow          python3-pil
pygeoip         python3-geoip
(ddgs has no distro package yet: install it with pip)

# mandatory:
sudo apt-get install python3-pycurl python3-bs4
# optional (per feature you want to enable):
sudo apt-get install python3-fpdf2 python3-selenium python3-gi python3-gi-cairo python3-cairo python3-pil python3-geoip

Note: some optional features also need system-level (non-pip) components:

- '--Dom' / '--reverse-check' : firefox + geckodriver (the Firefox WebDriver).
- '--gtk'                     : GTK 3 plus its GObject-Introspection typelib
                                files (the .typelib for Gtk-3.0). That typelib
                                ships under different system package names per
                                distro, e.g. 'gir1.2-gtk-3.0' on Debian/Ubuntu/
                                Kali, and 'gtk3' on Fedora/Arch.

Source libs:


License:

XSSer is released under the GPLv3. You can find the full license text
in the COPYING file.


Screenshots:

XSSer

XSSer

XSSer

XSSer

XSSer

XSSer

XSSer