Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
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é.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
toxssin — Une interface en ligne de commande pour l'exploitation XSS et un générateur de payloads. | Kitploit
Outils/GitHubGitHub/t3l3machus/toxssin
Outils de PhishingGénération de PayloadsExploitationExploitation d'Applications WebCollecte d'InformationsSécurité WebTests d'Intrusion
GitHubt3l3machus/toxssin

toxssin

Une interface en ligne de commande pour l'exploitation XSS et un générateur de payloads.

Voir le dépôt
1.4k196il y a 1 anVérifié par Kitploit

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

toxssin

Python 3.x License

Objectif

toxssin est un outil de test d'intrusion open-source qui automatise le processus d'exploitation des vulnérabilités de type Cross-Site Scripting (XSS). Il se compose d'un serveur https qui agit comme un interpréteur pour le trafic généré par la charge utile JavaScript malveillante qui alimente cet outil (toxin.js).

Ce projet a commencé comme (et reste) une entreprise créative basée sur la recherche pour explorer la profondeur d'exploitabilité qu'une vulnérabilité XSS peut introduire en utilisant du JavaScript vanille, des certificats de confiance et des astuces bon marché.

Avertissement : L'utilisation de cet outil contre des applications web pour lesquelles vous n'avez pas d'autorisation explicite de test est illégale. Vous êtes responsable de tout problème que vous pourriez causer en utilisant cet outil.

Présentation vidéo

https://www.youtube.com/watch?v=Z9I4UJUBrrY

Captures d'écran

usage_example_png

Trouvez plus de captures d'écran ici.

Fonctionnalités

Par défaut, le poison JavaScript de toxssin se propage automatiquement à travers les éléments et les informations d'une page web, abusant de l'objet XMLHttpRequest pour intercepter :

  • les cookies (si HttpOnly n'est pas présent),
  • les frappes clavier (techniquement, un keylogger actif),
  • les événements de collage,
  • les événements de changement de saisie,
  • les sélections de fichiers,
  • les soumissions de formulaires,
  • les réponses du serveur (aux soumissions de formulaires ou aux clics sur des hyperliens ciblant différentes pages et non des parties internes de la même page),
  • les données de tableau (statiques ainsi que les mises à jour sur les tableaux après le chargement d'une page),

Plus important encore, toxssin :

  • tente de créer une persistance XSS pendant que l'utilisateur navigue sur le site web en interceptant les requêtes et réponses http et en réécrivant le document, créant l'illusion de naviguer alors que l'emplacement du document ne change jamais,
  • prend en charge la gestion des sessions (vous pouvez l'utiliser pour exploiter plusieurs cibles en même temps, par exemple en menant une campagne de phishing basée sur XSS ou en exploitant du XSS stocké),
  • prend en charge l'exécution de scripts JS personnalisés contre les sessions (après qu'un navigateur soit accroché, vous pouvez exécuter des scripts JS personnalisés contre lui),
  • enregistre automatiquement chaque session.

Installation et Utilisation

root@kitploit:~
git clone https://github.com/t3l3machus/toxssin
cd ./toxssin
pip3 install -r requirements.txt

Pour démarrer toxssin.py, vous devrez fournir un certificat SSL et des fichiers de clé privée.

Si vous ne possédez pas de domaine avec un certificat de confiance, vous pouvez créer et utiliser des certificats auto-signés avec la commande suivante (bien que cela ne vous mènera pas loin) :

root@kitploit:~
openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365

Il est fortement recommandé d'exécuter toxssin avec un certificat de confiance (voir Comment obtenir un certificat valide dans ce document). Cela dit, vous pouvez démarrer le serveur toxssin comme ceci :

root@kitploit:~
python3 toxssin.py -u https://your.domain.com -c /your/certificate.pem -k /your/privkey.pem

Consultez le wiki du projet pour plus d'informations.

Obstacles à l'exploitation XSS

D'après mon expérience, il y a 4 obstacles majeurs lorsqu'il s'agit d'attaques Cross-Site Scripting tentant d'inclure des scripts JS externes :

  1. l'erreur "Mixed Content", qui peut être résolue en servant la charge utile JavaScript via https (même avec un certificat auto-signé).
  2. l'erreur "NET::ERR_CERT_AUTHORITY_INVALID", qui indique que le certificat du serveur n'est pas de confiance / a expiré et peut être contournée en utilisant un certificat émis par une autorité de confiance.
  3. le partage de ressources entre origines (CORS), qui est géré de manière appropriée par le serveur toxssin.
  4. l'en-tête Content-Security-Policy avec script-src défini sur un ou plusieurs domaines spécifiques bloquera le chargement de scripts avec un src cross-domain. Toxssin s'appuie sur la fonction eval() pour délivrer son poison ; par conséquent, si le site web a une CSP et que l'expression unsafe-eval n'est pas spécifiée dans la directive script-src, l'attaque échouera très probablement (je travaille sur une deuxième méthode de délivrance de poison pour contourner ce problème).

Note : L'erreur "Mixed Content" peut bien sûr se produire lorsque le site web cible est hébergé via http et que la charge utile JavaScript est servie via https. Cela limite la portée de toxssin aux sites web https uniquement, car (par défaut) toxssin est démarré avec ssl uniquement.

Comment obtenir un certificat de confiance

Tout d'abord, vous devez posséder un nom de domaine.

Enregistrer un domaine gratuitement

Vous pouvez rechercher des options gratuites sur freenom. C'est un peu délicat à faire correctement. Je vous suggère de suivre cette vidéo instructive. De plus, si vous créez un compte pour la première fois, assurez-vous que le pays que vous sélectionnez correspond à votre adresse IP, sinon vous pourriez rencontrer des erreurs.

Méthode standard (payante)

Achetez un domaine auprès d'un service de registraire (par exemple https://www.namecheap.com/). Le moyen le plus économique est de rechercher un nom de domaine aléatoire (par exemple "fvcm98duf") et de vérifier les TLD moins courants, comme .xyz, car ils coûteront probablement environ 3 $ par an.

Obtenir un certificat de confiance

Après avoir acheté un nom de domaine, vous pouvez utiliser certbot (Let's Encrypt) pour obtenir un certificat de confiance en 5 minutes ou moins :

  1. Ajoutez un enregistrement A dans les paramètres DNS de votre domaine pour qu'il pointe vers l'adresse IP de votre serveur,
  2. Suivez les instructions officielles de certbot.

Astuce : N'installez pas et n'exécutez pas certbot tout seul, vous pourriez obtenir des erreurs inattendues. Tenez-vous-en aux instructions.

Journal des modifications

2022-06-19 - Ajout de la commande exec dans l'invite (vous pouvez désormais exécuter des scripts JS personnalisés contre une session).
2022-06-23 - J'ai ajouté deux scripts simples et sales comme modèles pour tester la commande exec. J'ai également corrigé l'accès à l'historique arrière de l'invite de commandes et apporté quelques améliorations.

À venir

L'idée est de le rendre plus précis, plus fiable et d'étendre ses capacités. Actuellement, je travaille à améliorer les captures de fichiers.

Télécharger l’outil