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
blindxss-lite — Un collecteur et serveur de payload Blind XSS (Cross-Site Scripting) léger construit avec Flask | Kitploit
Outils/GitHubGitHub/yuyudhn/blindxss-lite
Outils de PhishingGénération de PayloadsExploitation d'Applications WebExfiltration de DonnéesCollecte d'InformationsSécurité WebTests d'IntrusionCommandement et ContrôleUtilitaires et FrameworksRed Teaming
GitHub
395il y a 16h 57mPas 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 →
Partager
yuyudhn/blindxss-lite

blindxss-lite

Un collecteur et serveur de payload Blind XSS (Cross-Site Scripting) léger construit avec Flask

Voir le dépôt

blindxss-lite

Un collecteur et serveur de payloads Blind XSS (Cross-Site Scripting) léger, construit avec Flask. Il sert un payload JavaScript qui capture les données du navigateur de la victime (cookies, localStorage, extraits du DOM, etc.) et les transmet à un tableau de bord adossé à SQLite, protégé par HTTP Basic Auth.

Fonctionnalités

  • Distribution du payload — /p.js sert un payload JS autonome utilisant sendBeacon ou fetch
  • Points de terminaison du collecteur — POST /c (JSON/FormData) et GET /c.gif (balise pixel compatible CSP)
  • Tableau de bord d'administration — /events liste les événements capturés, /events/<id>/view affiche les détails complets
  • Générateur de payloads — /payloads propose 14 variantes de payloads XSS ainsi qu'un éditeur JS personnalisé
  • HTTP Basic Auth — routes d'administration protégées par ADMIN_USER / ADMIN_PASSWORD
  • Persistance SQLite — base de données créée automatiquement au premier lancement ; la suppression de bxss.db la reconstruit à neuf
  • Prêt pour Docker — Dockerfile et docker-compose.yml inclus
  • Limitation de débit — limiteur à fenêtre glissante adossé à SQLite pour les points de terminaison du collecteur (partagé entre les workers)

Démarrage rapide

Docker Compose

# Set credentials
echo "ADMIN_USER=admin" > .env
echo "ADMIN_PASSWORD=your-admin-password" >> .env

# Build and run
docker compose up -d --build

Tableau de bord : http://127.0.0.1:8089/events (le navigateur demandera une authentification Basic)

Sans Docker

pip install -r requirements.txt
export ADMIN_USER="admin"
export ADMIN_PASSWORD="your-admin-password"
gunicorn -b 127.0.0.1:8080 --workers 2 --threads 4 wsgi:app

Utilisation

  1. Rendez-vous sur /payloads (après authentification) pour copier une charge utile XSS.
  2. Injectez la charge utile dans un champ de saisie cible suspecté de Blind XSS.
  3. Lorsqu'une victime charge la page, la charge utile s'exécute et envoie ses données à votre serveur.
  4. Consultez les événements capturés sur /events.

Points de terminaison

Collecteur (public, sans authentification)

MéthodeCheminDescription
GET/p.jsJavaScript de la charge utile XSS
POST/cReçoit du JSON/FormData depuis la charge utile
GET/c.gifBalise pixel (compatible CSP)

Admin (HTTP Basic Auth)

MéthodeCheminDescription
GET/eventsLes 500 derniers événements
GET/events/<id>Détail de l'événement au format JSON
GET/events/<id>/viewDétail de l'événement au format HTML
GET/POST/payloadsGénérateur de charges utiles + éditeur JS personnalisé

Utilitaire

MéthodeCheminDescription
GET/_healthzVérification de l'état

Configuration

VariableValeur par défautDescription
ADMIN_USERadminNom d'utilisateur du tableau de bord
ADMIN_PASSWORD(requis)Mot de passe du tableau de bord — le démarrage échoue s'il n'est pas défini
DB_PATH./bxss.dbChemin de la base de données SQLite
PUBLIC_URL(vide)URL de base publique pour les charges utiles générées (à utiliser derrière un tunnel/proxy inverse ; revient à l'hôte de la requête par défaut)
TRUST_PROXY(vide)Définir à 1 pour faire confiance à X-Forwarded-For/CF-Connecting-IP pour l'IP du client (uniquement derrière un proxy inverse de confiance ; requis dans ce cas, sinon tous les clients partagent l'IP du proxy pour la limitation de débit)
MAX_BODY524288Taille maximale du corps du collecteur (octets)
RATE_LIMIT_COUNT60Nombre maximal de requêtes du collecteur par fenêtre (par IP)
RATE_LIMIT_WINDOW60Fenêtre de limitation de débit en secondes
LOG_LEVELINFONiveau de journalisation Python

Le JS personnalisé est édité et stocké via la page d'administration /payloads (persisté dans la table settings de SQLite) et ajouté à /p.js. Il n'est plus lu depuis un fichier.

Structure du projet

blindxss-lite/
├── wsgi.py              # WSGI entry point
├── requirements.txt     # Python dependencies
├── Dockerfile           # Container image
├── docker-compose.yml   # Compose config
├── .env                 # Credentials (don't commit)
└── app/
    ├── __init__.py      # App factory, CORS, health check
    ├── config.py        # Config + .env loader
    ├── db.py            # SQLite layer
    ├── collectors.py    # /p.js, /c, /c.gif
    ├── events.py        # /events admin
    ├── payloads.py      # /payloads admin
    ├── utils.py         # Helpers + Basic Auth decorator
    ├── static/
    │   └── style.css
    └── templates/
        ├── events.html
        ├── event.html
        └── payloads.html

Données de charge utile collectées

  • Titre et URL du document
  • Origine et référent
  • document.cookie
  • User agent
  • localStorage et sessionStorage (toutes les clés)
  • Extrait du DOM (premiers 200 Ko, compressés en zlib+base64)

Démonstration

Charges utiles : Page des charges utiles

Résultat :

Détail du résultat :

Notes de sécurité

  • Les routes d'administration nécessitent une authentification HTTP Basic. Utilisez un mot de passe fort en production.
  • Les points de terminaison du collecteur sont volontairement non authentifiés.
  • Toutes les origines sont autorisées pour CORS afin que les charges utiles puissent envoyer des données depuis n'importe quel site.
  • La limitation de débit basée sur SQLite aide à atténuer les abus du collecteur et est partagée entre les workers.
  • Le fichier .env ne doit jamais être commité dans le contrôle de version.
Télécharger l’outil