
Un wrapper basé sur Go pour l'API KNOXSS afin d'automatiser les tests de vulnérabilité XSS.

VulnKnox est un outil en ligne de commande puissant écrit en Go qui interagit avec l'API KNOXSS. Il automatise le processus de test des URL pour les vulnérabilités de type Cross-Site Scripting (XSS) en utilisant les capacités avancées du moteur KNOXSS.
go install github.com/iqzer0/vulnknox@latest
Avant d'utiliser l'outil, vous devez configurer votre environnement :
Clé API
Obtenez votre clé API KNOXSS depuis knoxss.me.
Lors du premier lancement, un fichier de configuration par défaut sera créé à :
Linux/macOS : ~/.config/vulnknox/config.json
Windows : %APPDATA%\VulnKnox\config.json
Modifiez le fichier config.json et remplacez YOUR_API_KEY_HERE par votre vraie clé API.
Webhook Discord (Optionnel)
Si vous souhaitez recevoir des notifications sur Discord, ajoutez l'URL de votre webhook dans le fichier config.json ou utilisez le drapeau -dw.
Usage de vulnknox :
-u URL d'entrée à envoyer à l'API KNOXSS
-i Fichier d'entrée contenant les URL à envoyer à l'API KNOXSS
-X GET Méthode HTTP à utiliser : GET, POST ou BOTH
-pd Données POST au format 'param1=valeur¶m2=valeur'
-headers En-têtes personnalisés au format 'Header1:valeur1,Header2:valeur2'
-afb Utiliser le contournement avancé de filtres
-checkpoc Activer la fonctionnalité CheckPoC
-flash Activer le mode Flash
-o Fichier dans lequel sauvegarder les résultats
-ow Écraser le fichier de sortie s'il existe
-oa Enregistrer tous les résultats dans le fichier, pas seulement ceux réussis
-s Afficher uniquement les payloads XSS réussies dans la sortie
-p 3 Nombre de processus parallèles (1-5)
-t 600 Délai d'attente pour les requêtes API en secondes
-dw URL du webhook Discord (remplace le fichier de configuration)
-r 3 Nombre de tentatives pour les requêtes échouées
-ri 30 Intervalle entre les tentatives en secondes
-sb 0 Ignorer les domaines après ce nombre de réponses 403
-proxy URL du proxy (ex : http://127.0.0.1:8080)
-v Sortie verbeuse
-version Afficher le numéro de version
-no-banner Supprimer la bannière
-api-key Clé API KNOXSS (remplace le fichier de configuration)
Tester une seule URL avec la méthode GET :
vulnknox -u "https://example.com/page?param=valeur"
Tester une URL avec des données POST :
vulnknox -u "https://example.com/submit" -X POST -pd "param1=valeur1¶m2=valeur2"
Activer le contournement avancé de filtres et le mode Flash :
vulnknox -u "https://example.com/page?param=valeur" -afb -flash
Utiliser des en-têtes personnalisés (ex : pour l'authentification) :
vulnknox -u "https://example.com/secure" -headers "Cookie:sessionid=abc123"
Traiter des URL à partir d'un fichier avec 5 processus concurrents :
vulnknox -i urls.txt -p 5
Envoyer des notifications sur Discord en cas de découverte XSS réussie :
vulnknox -u "https://example.com/page?param=valeur" -dw "https://discord.com/api/webhooks/votre/webhook/url"
Tester les méthodes GET et POST avec CheckPoC activé :
vulnknox -u "https://example.com/page" -X BOTH -checkpoc
Utiliser un proxy et augmenter le nombre de tentatives :
vulnknox -u "https://example.com/page?param=valeur" -proxy "http://127.0.0.1:8080" -r 5
Supprimer la bannière et n'afficher que les payloads XSS réussies :
vulnknox -u "https://example.com/page?param=valeur" -no-banner -s
[ XSS! ] : Indique qu'une payload XSS réussie a été trouvée.
[ SAFE ] : Aucune vulnérabilité XSS n'a été trouvée dans la cible.
[ ERR! ] : Une erreur s'est produite lors de la requête.
[ SKIP ] : Le domaine ou l'URL a été ignoré en raison de multiples échecs (par exemple, après avoir reçu trop de réponses 403 Forbidden comme spécifié par l'option -sb).
[BALANCE]: Indique votre utilisation actuelle de l'API avec KNOXSS, affichant le nombre d'appels API utilisés sur votre total autorisé.
L'outil fournit également un résumé à la fin de l'exécution, comprenant le nombre de requêtes effectuées, les découvertes XSS réussies, les réponses sécurisées, les erreurs et les éventuels domaines ignorés.
Les contributions sont les bienvenues ! Si vous avez des suggestions d'amélioration ou si vous rencontrez des problèmes, veuillez ouvrir une issue ou soumettre une pull request.
Ce projet est sous licence MIT.