Skip to content
Projets

commixproject/commix has 5,908 GitHub stars and 938 forks. GitHot measured +4 stars in 24 hours and +11 in 7 days. Last checked 2026-11-12 07:33 UTC. Last push 2026-11-09.

Comment ces chiffres sont mesurés

Outil tout-en-un automatisé pour exploiter les injections de commandes du système d’exploitation.

What you can do

  • Four injection techniques - results-based, boolean-based, time-based and file-based, chosen with --technique or by the type they report with --type - see techniques for what each one asks of a target.
  • Out-of-band, when nothing comes back at all - --oob proves execution and carries the command's output over HTTP/S or DNS, reaching the server through whichever client the target happens to have - see out-of-band client for the ones it tries and how to pin one.
  • Code injection - --eval tests what a target evaluates as code, in PHP, Python, Ruby, JavaScript, PowerShell, Perl or Lua, over those same techniques.
  • Wherever input lands - GET/POST parameters, HTTP headers and cookies, JSON/XML/GraphQL bodies, plus the shellshock module for CGI targets.

Progression mesurée des étoiles

in 24h
+4
in 7 days
+11
in 15 days
Mise à jour retardée
in 1 month
Mise à jour retardée

Variations nettes sur des périodes qui se chevauchent, pas des totaux quotidiens. Les mesures absentes restent vides. Les étoiles indiquent l’intérêt, pas la qualité.

doc/translations/README-fr-FR.md

Original

CommixProject

Builds Tests Python 3.7+ GPLv3 License Follow @commixproject

Commix (abréviation de [comm]and [i]njection e[x]ploiter) est un outil open source de test d'intrusion, écrit par Anastasios Stasinopoulos (@ancst), qui automatise la détection et l'exploitation des vulnérabilités de type command (et code) injection.

Screenshot

Vous pouvez consulter la collection de captures d'écran présentant certaines fonctionnalités sur le wiki.

[!IMPORTANT] Ce projet est en développement actif. Attendez-vous à des changements incompatibles d'une révision à l'autre. Consultez le journal des modifications avant toute mise à jour.

Commix est conçu avant tout comme un outil autonome en ligne de commande, et il exécute des commandes système sur les cibles qu'il teste. Exécuter commix en tant que service peut présenter des risques de sécurité. Il est recommandé de l'utiliser avec prudence, et uniquement contre des systèmes qui vous appartiennent ou pour lesquels vous disposez d'une autorisation explicite.

Fonctionnalités

  • Quatre techniques d'injection - results-based, boolean-based, time-based et file-based, choisies avec --technique ou selon le type sous lequel elles sont rapportées avec --type - voir techniques pour ce que chacune exige d'une cible.
  • Out-of-band, quand rien ne revient - --oob prouve l'exécution et rapporte la sortie de la commande via HTTP/S ou DNS, en atteignant le serveur par le client dont la cible dispose - voir out-of-band client pour ceux qu'il essaie et comment en fixer un.
  • Injection de code - --eval teste ce que la cible évalue comme du code, en PHP, Python, Ruby, JavaScript, PowerShell, Perl ou Lua, avec ces mêmes techniques.
  • Partout où l'entrée aboutit - paramètres GET/POST, en-têtes HTTP et cookies, corps JSON/XML/GraphQL, ainsi que le module shellshock pour les cibles CGI.
  • De la preuve au shell - --os-shell, les modes intégrés reverse_tcp et bind_tcp promouvables en PTY complet, le transfert de fichiers, la lecture et l'écriture du registre Windows, et l'énumération jusqu'aux empreintes de mots de passe, avec une attaque par dictionnaire proposée contre elles.
  • Contournement des filtres et des WAF - scripts de falsification (tamper) combinables, appliqués dans un ordre déterministe - voir filters bypass examples.
  • Des cibles sous toutes les formes - une URL, une exploration du site, des formulaires HTML, un sitemap, une description OpenAPI (Swagger), un journal de proxy, un fichier de cibles multiples, une requête HTTP brute ou une entrée stdin - voir target options.
  • Reprenable et scriptable - fichiers de session par cible, sortie JSON/CSV/HAR, profils d'options réutilisables, --proof, qui prouve à nouveau chaque découverte par une expérience qui lui est propre, et une API REST pour lancer des analyses depuis ailleurs.
  • Type Unix et Windows - back-ends PHP, Python, Perl, Ruby, ASP.NET, JSP et CGI - voir Windows and Unix-like targets at a glance pour la façon dont les charges utiles diffèrent.

Installation

Vous pouvez télécharger commix sur n'importe quelle plateforme en clonant le dépôt Git officiel :

$ git clone https://github.com/commixproject/commix.git commix

Vous pouvez également télécharger la dernière archive tarball ou archive zipball.

[!NOTE] Python (version 3.7 ou ultérieure) est requis pour exécuter commix. Toutes les autres dépendances sont fournies avec le programme, aucune étape d'installation supplémentaire n'est donc nécessaire.

Utilisation

Pour obtenir la liste de toutes les options et de tous les paramètres disponibles :

$ python3 commix.py -h

Tester un seul paramètre injectable, puis ouvrir un shell sur la cible :

$ python3 commix.py --url="http://commix-testbed/scenarios/regular/GET/classic.php?addr=127.0.0.1" --os-shell

Prouver l'exécution hors bande, lorsque la réponse ne renvoie rien :

$ python3 commix.py --url="http://commix-testbed/scenarios/regular/POST/blind.php" --data="addr=127.0.0.1" --oob

[!NOTE] Le client est choisi selon ce dont la cible dispose : une machine dépourvue des clients HTTP habituels reste donc à portée - fixez-en un avec --oob-transport lorsque sa sortie réseau est déjà connue. La détection hors bande (OAST) avec --oob utilise par défaut le serveur interactsh public oast.fun : les métadonnées des interactions avec votre cible sortent donc de votre réseau. Pointez --oob-server vers une instance auto-hébergée pour les garder en interne. Pour un guide détaillé, consultez la page out-of-band-oob-channel du wiki.

Analyser une liste de cibles sans surveillance et enregistrer les résultats dans un fichier :

$ python3 commix.py -m targets.txt --batch --report-json=results.json

Pour obtenir un aperçu des options, paramètres et concepts de base de commix, consultez les pages du wiki Utilisation, Exemples d'utilisation et Contournement des filtres.

Liens

Explorer des projets similaires