Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
xssearch — Scanner XSS basé sur Rust avec sélection de payloads sensible au contexte, détection et contournement de WAF, crawling, callbacks XSS aveugles et analyse statique des sinks DOM. | Kitploit
Outils/GitHubGitHub/affolter-engineering/xssearch
ReconnaissanceAnalyse StatiqueScanners de VulnérabilitésScanners de Vulnérabilités WebGénération de PayloadsExploitation d'Applications WebCollecte d'InformationsContournement de WAFSécurité WebTests d'IntrusionRed Teaming
2137il y a 1 jourPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Crawler
GitHubaffolter-engineering/xssearch

xssearch

Scanner XSS basé sur Rust avec sélection de payloads sensible au contexte, détection et contournement de WAF, crawling, callbacks XSS aveugles et analyse statique des sinks DOM.

Voir le dépôt
Partager

xssearch

Outil avancé de détection de XSS écrit en Rust, combinant une intelligence de payload sensible au contexte avec une largeur d'injection étendue.

Cet outil a été inspiré par XSStrike et XSSER. Les payloads ont été collectés à partir de différentes sources :

  • https://github.com/ardakocadoru/xss-cheatsheet
  • https://github.com/Proviesec/xss-payload-list
  • https://cheatsheetseries.owasp.org/cheatsheets/XSS_Filter_Evasion_Cheat_Sheet.html
  • https://github.com/swisskyrepo/PayloadsAllTheThings

Merci les gars, vous êtes géniaux ❤️

Avertissement : À utiliser uniquement contre des systèmes que vous possédez ou pour lesquels vous disposez d'une autorisation écrite explicite de test.

Fonctionnalités

  • Scan sensible au contexte - sonde d'abord chaque paramètre, détecte où la valeur est reflétée (corps HTML, attribut, JavaScript, commentaire, <title>, <textarea>, etc.) et sélectionne les payloads les plus appropriés pour ce contexte plutôt que de tout envoyer aveuglément
  • Plus de 100 payloads intégrés - balises HTML, évasions d'attributs, injection JS, polyglots, sinks DOM, variantes de contournement de WAF
  • Détection et contournement de WAF - identifie Cloudflare, ModSecurity, Sucuri, Imperva, Akamai, AWS WAF, F5 BIG-IP, Barracuda, Wordfence ; applique des transformations de contournement par WAF (mutation de casse, insertion de commentaires, caractères de largeur nulle et encodage)
  • Crawler - explore les liens et les formulaires pour découvrir automatiquement les paramètres injectables
  • Injection par en-têtes et cookies - teste Referer, User-Agent, X-Forwarded-For, X-Real-IP et d'autres en-têtes, ainsi que les valeurs de cookies
  • Blind XSS - injecte des payloads de rappel hors bande (compatibles avec Burp Collaborator, interactsh) dans chaque sink pour les scénarios d'exécution différée (panneaux d'administration, visionneuses de logs et similaires)
  • Analyse DOM XSS - inspection statique de innerHTML, eval, document.write, location.href, jQuery .html() et autres sinks dangereux avec détection de source
  • Encodage de payload - encodage URL, double-URL, entité HTML, Unicode et base64/eval avec des flags composables
  • Sortie JSON - résultats structurés pour l'intégration avec d'autres outils
  • Rapport Markdown - rapport lisible par l'humain avec un tableau récapitulatif de sévérité, des sections détaillées par résultat et un tableau de référence rapide ; prêt à être collé dans un wiki ou joint à un ticket
  • Rust/rustls pur - aucune dépendance à OpenSSL ; binaire unique quasi statique

Installation

Depuis les sources (Nix)

git clone https://github.com/fabian-affolter/xssearch
cd xssearch
nix-shell --run "cargo build --release"
# binary: target/release/xssearch

Build de release avec LTO et symboles supprimés :

nix-shell --argstr release true --run "$BUILD"

Depuis les sources (standard)

Nécessite Rust 1.75+.

cargo build --release

Nixpkgs

Un paquet est disponible pour les utilisateurs de Nix ou NixOS. Gardez à l'esprit que les dernières versions peuvent n'être présentes que dans le canal unstable.

nix-env -iA nixos.xssearch

Utilisation

xssearch [OPTIONS] <--url <URL> | --file <URLS_FILE>>

Options

FlagDescription
-u, --url <URL>URL cible. Utilisez FUZZ pour marquer un point d'injection personnalisé
-f, --file <FILE>Fichier avec une URL par ligne
-d, --data <DATA>Corps POST. Utilisez FUZZ pour marquer le point d'injection
-H, --header <H>En-tête de requête supplémentaire, répétable
--cookie <COOKIE>Chaîne de cookie
--proxy <URL>Proxy HTTP/HTTPS
--timeout <N>Délai d'attente des requêtes en secondes (par défaut : 10)
--user-agent <UA>User-Agent personnalisé
--follow-redirectsSuivre les redirections HTTP
--threads <N>Requêtes concurrentes (par défaut : 2)
--delay <MS>Délai entre les requêtes en millisecondes
--crawlExplorer la cible pour les liens et formulaires
--crawl-depth <N>Profondeur d'exploration (par défaut : 3)
--headers-injectTester les en-têtes HTTP courants comme points d'injection
--cookie-injectTester les valeurs de cookies comme points d'injection
--blind <URL>URL de rappel Blind XSS
--domAnalyse statique des sinks DOM XSS
--fuzzEnvoyer tous les payloads indépendamment du contexte de réflexion
--payload-set <SET>all | html | js | attr | poly | dom | mxss | waf (par défaut : all)
--payloads-file <FILE>Fichier de payloads personnalisé, un par ligne
--encode <LIST>Encodages séparés par des virgules : url,html,unicode,double,base64
--prefix <STR>Chaîne à ajouter au début de chaque payload
--suffix <STR>Chaîne à ajouter à la fin de chaque payload
--waf-detectIdentifier le WAF avant le scan
--waf-bypassAppliquer les transformations de contournement de WAF aux payloads
--output-json <FILE>Écrire les résultats dans un fichier JSON
--output-md <FILE>Écrire les résultats dans un fichier Markdown
-v, --verboseSortie verbeuse (afficher le contexte, toutes les sondes)
-V, --versionAfficher la version et quitter

Exemples

Scan basique d'un paramètre GET

xssearch -u "https://example.com/search?q=test"

Formulaire POST

xssearch -u "https://example.com/login" -d "user=admin&pass=FUZZ"

Exploration depuis la racine, détection de WAF, test des en-têtes

xssearch -u "https://example.com/" --crawl --waf-detect --headers-inject -v

Contournement de WAF avec encodage URL + HTML

xssearch -u "https://example.com/?q=FUZZ" --waf-detect --waf-bypass --encode url,html

Blind XSS avec rappel interactsh

xssearch -u "https://example.com/contact" -d "msg=FUZZ" \
  --blind "https://abc123.oast.fun/xssearch"

Analyse statique DOM XSS uniquement

xssearch -u "https://example.com/app" --dom --no-banner

Enregistrer les résultats en JSON

xssearch -u "https://example.com/?q=test" --output-json results.json

Enregistrer les résultats en Markdown

xssearch -u "https://example.com/?q=test" --output-md report.md

Enregistrer les deux formats en une fois

xssearch -f targets.txt --crawl --waf-detect --output-json results.json --output-md report.md

Proxy via Burp Suite

xssearch -u "https://example.com/?q=test" --proxy http://127.0.0.1:8080 -v

Tests

Cible minimale locale

Le moyen le plus rapide de vérifier l'outil est de lancer localement un serveur Python intentionnellement vulnérable :

python3 - <<'EOF'
import http.server, urllib.parse

class H(http.server.BaseHTTPRequestHandler):
    def log_message(self, *a): pass
    def do_GET(self):
        p = urllib.parse.urlparse(self.path)
        q = urllib.parse.parse_qs(p.query)
        val = q.get('q', [''])[0]
        body = f'<html><body><p>Search: {val}</p></body></html>'.encode()
        self.send_response(200)
        self.send_header('Content-Type', 'text/html')
        self.end_headers()
        self.wfile.write(body)

http.server.HTTPServer(('127.0.0.1', 9999), H).serve_forever()
EOF

Puis scannez-le :

xssearch -u "http://127.0.0.1:9999/?q=test" -v

Sortie attendue : [Vuln] XSS in 'q' avec un payload de contexte HTML.

Cibles Docker locales

Ces images sont conçues spécifiquement pour tester des outils de sécurité et ne contiennent aucune donnée utilisateur réelle.

DVWA (Damn Vulnerable Web Application)

Télécharger l’outil