PAGES
← all tools
◆ Web Application Security

Commix

v4.1 open-source

Automates detection and exploitation of command and code injection vulnerabilities in web applications.

Summary

Commix is an open-source penetration testing tool that automates the detection and exploitation of command injectioncommand injectionAn attack that makes an application execute operating-system commands supplied through untrusted input. It often happens when input is passed unsafely to a shell. vulnerabilities in web applications, free to use under the GPLv3 licence. It runs as a Python command-line tool, cloned from its Git repository or run from a downloaded archive, and driven through switches rather than any graphical interface. This makes it a fit for penetration testers and application security assessors who need to confirm and exploit injection flaws rather than just flag them, distinguishing it from broader web vulnerability scanners that stop at detection. First committed in 2015 and still active, with 25 contributors and 75 commits in the past year, though its most recent release was 244 days ago.

Automates detection and exploitation of command and code injection vulnerabilities in web applications.

How Commix helps

How do I confirm a command actually ran when the response gives no visible output?

triggers execution that calls back out of band, so injection can be proven even when the application shows nothing on the page

Which of many targets I'm assessing actually have exploitable injection points?

works through a supplied list of targets and writes the confirmed findings out as structured results for review afterward

all 38 features, with the evidence for each →

Languages

French, Persian, Spanish, Turkish Documentation: French, Persian, Spanish, Turkish

Features

38 capabilities

Built from Commix's releases, docs, README and our own runs. “Seen” marks the month we first spotted a release the vendor didn't date. Group names and tags are our labels.

Compare with peers →

  • Commix covers 1 of the 8 vulnerability assessment methods capabilities we track.

What Commix offers you

  • Command-line interface19
  • Python scripting support3
  • Offline mode2
  • Scripting language support2
  • CI/CD pipeline integration1
  • PowerShell script execution1
Web vulnerability scanning 17 features Vulnerability assessment methods since 2016
Payload and Parameter Granularity Control shipped Allows restricting tests to specific parameters, setting verbosity levels, enabling all enumeration options, and using wildcard injection tags. 11 releases · 6 other sources · first seen May 2016

Shared capability: Web vulnerability scanning

Also counts toward: Command-line interface

release 11 total

  • Adds --skip flag to exclude specific parameters from testing v2.2-20171212 · Dec 2017 · source · release history
  • Adds --skip-technique flag to exclude specific injection techniques v2.2-20171212 · Dec 2017 · source · release history
  • Adds --ignore-redirects option to ignore redirection attempts v1.9-20170502 · May 2017 · source · release history
  • Replaces the --root-dir option with --web-root v1.9-20170502 · May 2017 · source · release history
  • Adds URIPATH and SRVPORT as new values for the Set option v1.7-20170203 · Feb 2017 · source · release history
  • --skip-empty flag added to skip testing parameters with empty values v1.7-20170203 · Feb 2017 · source · release history

example

  • Skip testing the id parameter and only use blind boolean inference. commix --url "http://example.com/page?id=1" --skip="id" --skip-technique=time v2.2-20171212 · Dec 2017 · source
  • Prevent the tool from following HTTP redirects during an injection test. commix --url=http://example.com/page?id=1 --cookie=PHPSESSID=abc --ignore-redirects v1.9-20170502 · May 2017 · source
  • Inject the current request URI path or server port into parameters for context-aware testing. commix --url "http://example.com/test?id=1" --set 'id=[URIPATH],[SRVPORT]' v1.7-20170203 · Feb 2017 · source
  • Scan only parameters that have non-empty values to reduce noise. commix --url "http://example.com/vuln.php" --param "id" --skip-empty v1.7-20170203 · Feb 2017 · source
  • Scan only specific GET and POST parameters identified by a flag. commix --url "http://example.com" -p "id,category" v0.8b-20160506 · May 2016 · source
  • Set the test verbosity level to maximum for exhaustive scanning. commix --url "http://example.com" --level 3 v0.8b-20160506 · May 2016 · source
Environment and Protocol Control shipped Enforces SSL usage, allows custom operating system specification for heuristic tuning, and supports custom HTTP headers. 5 releases · 5 other sources · first seen Feb 2016

Shared capability: Web vulnerability scanning

Also counts toward: Command-line interface

release

  • Adds --method option to force usage of provided HTTP method (e.g. PUT) v3.3 · Sep 2021 · source · release history
  • Adds --header CLI option to inject a single extra HTTP header (e.g. X-Forwarded-For: 127.0.0.1). v2.1-20171003 · Oct 2017 · source · release history
  • --headers parameter allows testing with custom HTTP headers during injection tests. v0.5b-20160316 · Mar 2016 · source · release history
  • --os flag forces a user-defined operating system name for the target. v0.5b-20160316 · Mar 2016 · source · release history
  • Adds the --force-ssl flag to force HTTPS requests regardless of initial target protocol v0.4b-20160204 · Feb 2016 · source · release history

example

  • Append a spoofed forwarding header using the new tamper script. commix --url "http://target/page.php?id=1" --tamper "xforwardedfor" v2.7-20181218 · Dec 2018 · source
  • Inject a custom HTTP header and disable coloring for cleaner logs. commix --url "http://target.com/vuln" --header "X-Forwarded-For: 127.0.0.1" --disable-coloring v2.1-20171003 · Oct 2017 · source
  • Inject payloads while sending custom headers like a specific User-Agent or X-Forwarded-For. commix --url="http://example.com/vuln" --param="id" --headers='User-Agent: CustomBot; X-Custom: 123' v0.5b-20160316 · Mar 2016 · source
  • Force the tool to assume the target is running Linux regardless of heuristic detection. commix --url="http://example.com/vuln" --param="id" --os "linux" v0.5b-20160316 · Mar 2016 · source
  • Force SSL when the target redirects to HTTPS or requires it for valid exploitation paths commix --url "http://target.com/vuln.php?id=1" --force-ssl v0.4b-20160204 · Feb 2016 · source
Multi-Target Crawling shipped Combines web crawling with scanning multiple targets provided via file or standard input. 5 releases · 3 other sources · first seen Jan 2016

Shared capability: Web vulnerability scanning

Also counts toward: Command-line interface

release

  • Enables combining --crawl with scanning multiple targets provided via standard input (piped-input/stdin). v3.7 · Feb 2023 · source · release history
  • Added support regarding combining --crawl option with scanning multiple targets given in a textual file (i.e. via option -m) v3.5 · Jul 2022 · source · release history
  • Add -m option to scan multiple targets defined in a textual input file. v1.6-20161228 · Dec 2016 · source · release history
  • Injection level is now stored into session files for the current target, allowing continuity across restarts. v1.1-20160714 · Jul 2016 · source · release history
  • Added new option -l that parses target and data from HTTP proxy log files such as Burp or WebScarab v0.3b-20160115 · Jan 2016 · source · release history

example

  • Scan multiple targets simultaneously by piping them into Commix with the crawl feature enabled. echo 'http://target1 http://target2' | commix --crawl -t stdout v3.7 · Feb 2023 · source
  • Force the tool to use PUT requests instead of the default method when testing an endpoint that requires it commix --url "http://target.com/api" --method PUT v3.3 · Sep 2021 · source
  • Inject into parameters logged by an intercepting proxy without manual extraction commix -l burp_log.txt v0.3b-20160115 · Jan 2016 · source
Command Injection Detection shipped Automates detection and exploitation of command injection vulnerabilities in web applications. 6 releases · 2 other sources · first seen Sep 2016

Shared capability: Web vulnerability scanning

Also counts toward: Command-line interface

release

  • Adds explicit support for testing Host HTTP header command injections. v2.3-20180307 · Mar 2018 · source · release history
  • Adds /cgi-bin/cgiCmdNotify shellscript path as a known vulnerable endpoint for shellshock v1.7-20170203 · Feb 2017 · source · release history
  • Added support for the metasploit web_delivery script v1.3-20160914 · Sep 2016 · source · release history
  • Added support for generating Python/PHP meterpreter reverse TCP payloads via metasploit v1.3-20160914 · Sep 2016 · source · release history
  • Added support for generating and injecting native x86 shellcode (Powershell) v1.3-20160914 · Sep 2016 · source · release history
  • Added --skip-calc option to skip mathematical calculation during the detection phase v1.3-20160914 · Sep 2016 · source · release history

docs

  • Automates detection and exploitation of command and code injection vulnerabilities in web applications.

example

  • Use the new timeout-based tamper for more reliable time-based injection detection commix --url="http://example.com/page" --tamper=sleep2timeout.py v2.6-20180921 · Sep 2018 · source
Execution Timeouts shipped Enforces time limits on injection tests to prevent hanging processes. 4 releases · 3 other sources · first seen Mar 2017

Shared capability: Web vulnerability scanning

Also counts toward: Command-line interface

release

  • Adds --time-limit <seconds> flag to enforce an execution timeout in seconds (e.g. 3600) v4.0 · Dec 2024 · source · release history
  • Adds --timeout CLI argument to control connection wait time (default 30 seconds). v3.2 · Apr 2021 · source · release history
  • Adds --retries option to retry requests on connection timeout v2.0-20170714 · Jul 2017 · source · release history
  • Replaces --delay with --time-sec to control HTTP request delay v1.8-20170315 · Mar 2017 · source · release history

example

  • Limit the duration of a long-running blind injection test to 60 minutes to avoid hanging CI pipelines. commix --url 'http://example.com/page.php' --param='id' --time-limit=3600 v4.0 · Dec 2024 · source
  • Stop the attack after 3 failed attempts to avoid noisy logs or timeouts. commix --url "http://example.com/page" --failed-tries=3 v2.2-20171212 · Dec 2017 · source
  • Automatically retry failed requests due to network instability during an assessment. commix --url "http://example.com/page?id=1" --retries 5 v2.0-20170714 · Jul 2017 · source
Error Code Abortion shipped Stops testing immediately if specific HTTP status codes (e.g., 401) are received. 4 releases · 2 other sources · first seen Apr 2016

Shared capability: Web vulnerability scanning

release

  • Adds --abort-code <code> option to stop testing when a specific HTTP status code (e.g. 401) is received v4.0 · Dec 2024 · source · release history
  • Adds --ignore-code <code> option to ignore specific HTTP error codes, replacing the deprecated --ignore-401 flag v3.0-20191111 · Nov 2019 · source · release history
  • The --ignore-401 option has been removed; use --ignore-code instead to filter HTTP error responses v3.0-20191111 · Nov 2019 · source · release history
  • --ignore-401 option ignores HTTP Error 401 and continues tests without valid credentials v0.6b-20160401 · Apr 2016 · source · release history

example

  • Stop the injection test immediately if the target returns a 401 Unauthorized error, preventing unnecessary requests. commix --url 'http://example.com/page.php' --param='id' --abort-code=401 v4.0 · Dec 2024 · source
  • Scan a target while ignoring 401 Unauthorized responses using the new flag python commix.py --url=http://example.com/vuln_param --cookie="session=abc" --ignore-code 401 v3.0-20191111 · Nov 2019 · source
Web Crawling and Reconnaissance shipped Crawls target websites for further testing, with options to exclude specific paths. 4 releases · 2 other sources · first seen Oct 2016

Shared capability: Web vulnerability scanning

release

  • Adds --crawl-exclude option to set a regular expression for excluding pages from crawling during automated testing. v3.7 · Feb 2023 · source · release history
  • Adds --output-crawl-tmp option to write crawling results to a temporary file. v2.8-20190326 · Mar 2019 · source · release history
  • --exclude-ext allows listing extensions to exclude from the crawler v2.7-20181218 · Dec 2018 · source · release history
  • Adds --crawl CLI option to crawl a given website starting from the target URL v1.4-20161017 · Oct 2016 · source · release history

example

  • Crawl a site while explicitly skipping logout pages to avoid false positives or unnecessary checks. commix --url "http://example.com" --crawl --crawl-exclude "logout" v3.7 · Feb 2023 · source
  • Crawl the target website to discover additional injection points commix --url "http://example.com" --crawl 1 v1.4-20161017 · Oct 2016 · source
Session Cookie Analysis shipped Checks for undeclared cookies and ignores Set-Cookie headers to reduce noise during testing. 5 releases · 1 other source · first seen May 2016

Shared capability: Web vulnerability scanning

Also counts toward: Command-line interface

release

  • Adds support for checking for not declared cookies. v3.4 · Feb 2022 · source · release history
  • Adds --drop-set-cookie option to ignore Set-Cookie HTTP headers in responses. v3.4 · Feb 2022 · source · release history
  • Added --check-shellshock (implied by capability) to check if a URL is probable to contain scripts vulnerable to Shellshock v1.0-20160614 · Jun 2016 · source · release history
  • Adds ability to check for empty value(s) in defined GET, POST, Cookie data and skip v0.8b-20160506 · May 2016 · source · release history
  • Enhances cookie data checking to support verifying every parameter in the provided cookie data v0.8b-20160506 · May 2016 · source · release history

example

  • Ignore Set-Cookie headers when testing for blind SQL injection to reduce noise. commix --url "http://example.com/page?id=1" --cookie="session=abc" --drop-set-cookie v3.4 · Feb 2022 · source
Tamper Scripting Integration shipped Replaces hardcoded encoding with a tamper script system, allowing users to apply custom transformations like base64 encoding. 4 releases · 1 other source · first seen Jun 2016

Shared capability: Web vulnerability scanning

Also counts toward: Command-line interface, Offline mode, Python scripting support, Scripting language support

release

  • Adds --backticks CLI option to force command substitution using backticks instead of $(). v2.1-20171003 · Oct 2017 · source · release history
  • Adds %26 as both a new prefix and suffix delimiter for payloads v1.8-20170315 · Mar 2017 · source · release history
  • Add --offline flag to operate the scanner without an active internet connection. v1.6-20161228 · Dec 2016 · source · release history
  • The --base64 flag is removed; users must now use the base64encode.py tamper script via the new --tamper option instead v0.9b-20160607 · Jun 2016 · source · release history

example

  • Force backtick-based command substitution for environments where $() is filtered. commix --url "http://target.com/vuln" --param "id" --backticks v2.1-20171003 · Oct 2017 · source
Shellshock and Vulnerability Detection shipped Detects Shellshock vulnerabilities and identifies specific vulnerable functions like create_function() in injected code. 3 releases · 1 other source · first seen Feb 2016

Shared capability: Web vulnerability scanning

release

  • Detection of create_function() usage in injected code. v1.1-20160714 · Jul 2016 · source · release history
  • Added --check-shellshock (implied by capability) to check if a URL is probable to contain scripts vulnerable to Shellshock v1.0-20160614 · Jun 2016 · source · release history
  • Adds --ignore-session CLI flag to ignore results stored in session file v0.4.1b-20160226 · Feb 2016 · source · release history

example

  • Target the specific shellshock-vulnerable CGI path if known. commix --url "http://example.com/cgi-bin/cgiCmdNotify" v1.7-20170203 · Feb 2017 · source
User-Agent Management shipped Loads User-Agent strings from external files instead of using hardcoded values. 2 releases · 1 other source · first seen Jul 2017

Shared capability: Web vulnerability scanning

Also counts toward: Command-line interface

release

  • Replaces hardcoded User-Agent strings with loading from external files. v4.1 · Dec 2025 · source · release history
  • Adds --mobile flag to imitate smartphone User-Agent v2.0-20170714 · Jul 2017 · source · release history

example

  • Test injection payloads against mobile-specific applications by spoofing a smartphone user-agent. commix --url "http://example.com/page?id=1" --mobile v2.0-20170714 · Jul 2017 · source
File-Based Payload Loading shipped Enables the use of raw HTTP request payloads stored in local files for injection testing, rather than command-line arguments. 1 release · 2 other sources · first seen Dec 2016

Shared capability: Web vulnerability scanning

Also counts toward: Command-line interface

release

  • Add -r option to load raw HTTP requests from a local file for injection testing. v1.6-20161228 · Dec 2016 · source · release history

example

  • Set the web root directory for file-based injection techniques. commix --url=http://example.com/upload --param=path --data="../../etc/passwd" --web-root=/var/www v1.9-20170502 · May 2017 · source
  • Load an HTTP request payload from a file instead of command-line arguments. commix -r /path/to/request.txt v1.6-20161228 · Dec 2016 · source
Standard Input Control shipped Provides options to explicitly ignore or manage STDIN input behavior. 1 release · 1 other source · first seen Dec 2018

Shared capability: Web vulnerability scanning

release

  • --ignore-stdin hidden option allows ignoring STDIN input. v3.9 · Jan 2024 · source · release history

example

  • Scan for injection points while ignoring static assets like images and stylesheets. commix --url "http://target/page.php?id=1" --exclude-ext "jpg,png,css" v2.7-20181218 · Dec 2018 · source
HTTP Authentication Injection shipped Supports injecting payloads into HTTP authorization headers, including Bearer tokens. 1 release · 1 other source · first seen Apr 2016

Shared capability: Web vulnerability scanning

release

  • Adds support for Bearer HTTP authentication type for injecting payloads in authorization headers. v3.8 · Aug 2023 · source · release history

example

  • Test targets that reject auth attempts before returning useful data by ignoring the initial 401 response. commix --url "http://example.com/page.php?param=val" --ignore-401 v0.6b-20160401 · Apr 2016 · source
Application Type Recognition shipped Automatically detects target application extensions such as PHP or ASP.NET to tailor injection techniques. 2 releases · first seen Jul 2016

Shared capability: Web vulnerability scanning

release

  • Adds the ability for target application extension recognition (i.e. PHP, ASP etc) v1.2-20160812 · Aug 2016 · source · release history
  • Support for injections against ASP.NET applications. v1.1-20160714 · Jul 2016 · source · release history
Blind Injection Support shipped Tests parameter and open OS shell capabilities through blind injection techniques. 2 other sources

Shared capability: Web vulnerability scanning

example

  • Prove execution out-of-band python3 commix.py --url="http://www.target.com/vuln.php" --data="addr=127.0.0.1" --oob
  • Test parameter and open OS shell python3 commix.py --url="http://www.target.com/vuln.php?addr=127.0.0.1" --os-shell
Sitemap URL Parsing shipped Automatically discovers and parses target URLs from remote sitemap XML files for scanning. 1 release · first seen Dec 2016

Shared capability: Web vulnerability scanning

release

  • Add -x flag for parsing target URLs from a remote sitemap (.xml) file. v1.6-20161228 · Dec 2016 · source · release history
Other / not yet classified 21 features Features we have not matched to a capability yet. A suggested match is marked.
Payload Tampering Scripts shipped suggested Supports custom and built-in tamper scripts to modify payloads for WAF evasion. 26 releases · 7 other sources · first seen Feb 2016

Suggested capability: Web vulnerability scanning. This is our guess, not confirmed.

Also counts toward: Python scripting support

release 26 total

  • Adds new tamper script randomcase.py that replaces each character in a user-supplied OS command with a random case. v4.1 · Dec 2025 · source · release history
  • Adds new tamper script rev.py that reverses user-supplied operating system commands characterwise. v3.8 · Aug 2023 · source · release history
  • Adds new tamper script printf2echo.py that replaces printf-based ASCII to Decimal encoding with echo -n $char | od -An -tuC | xargs. v3.6 · Nov 2022 · source · release history
  • The --backticks switch has been removed; users must now use the backticks.py tamper script instead v3.3 · Sep 2021 · source · release history
  • Adds the .bat files command separator %1a v3.3 · Sep 2021 · source · release history
  • Adds backticks.py tamper script that uses backticks for commands substitution v3.3 · Sep 2021 · source · release history

example 7 total

  • Use the new tamper script to bypass case-sensitive WAF rules by randomizing command casing. commix --url "http://example.com/page?id=1" --tamper=randomcase.py v4.1 · Dec 2025 · source
  • Use this tamper script during injection when the target filters standard printf encoding methods. ./commix.py --url="http://example.com/page.php?id=1" --tamper=printf2echo.py --cmd="id" v3.6 · Nov 2022 · source
  • Use the new slash-to-environment tamper script to obfuscate paths in injection payloads. commix --url "http://example.com/vuln.php?param=value" --tamper=slash2env.py v3.2 · Apr 2021 · source
  • Apply the new uninitialized variable tamper to bypass simple WAF filters by inserting bash syntax errors. commix --url "http://example.com/vuln.php?param=value" --tamper=uninitializedvariable.py v3.2 · Apr 2021 · source
  • Use this tamper to bypass WAFs that block standard injection patterns by spacing out payload characters with quotes. commix -u "http://example.com/vuln.php?id=1" --tamper doublequotes.py v3.1 · Jun 2020 · source
  • Use the new $@ tamper script to obfuscate payloads during an injection test. commix --url "http://target/page.php?id=1" --tamper "dollaratsigns" v2.7-20181218 · Dec 2018 · source
Verbose Output and Configuration shipped Provides detailed logging controls and allows setting custom working directories for backend scripts. 9 releases · 1 other source · first seen Jun 2016

Also counts toward: Command-line interface

release 9 total

  • --purge is the new flag for purging output files, replacing the old --purge-output option v2.6-20180921 · Sep 2018 · source · release history
  • Adds --disable-coloring CLI option to suppress colored console output. v2.1-20171003 · Oct 2017 · source · release history
  • Log executed commands and their results into the output log file. v1.6-20161228 · Dec 2016 · source · release history
  • Adds -t option to log all HTTP traffic into a textual file v1.5-20161117 · Nov 2016 · source · release history
  • Adds verbosity level 4 for printing HTTP response page content v1.5-20161117 · Nov 2016 · source · release history
  • Adds verbosity level 2 for printing performed HTTP request headers v1.5-20161117 · Nov 2016 · source · release history

example

  • Save all HTTP traffic to a text file for offline analysis. ./commix.py --url='http://target/page' -t traffic.log v1.5-20161117 · Nov 2016 · source
Advanced Payload Generation and Delivery shipped Integrates with Metasploit and Magic Unicorn to generate PowerShell, Python/PHP Meterpreter payloads, and native shellcode for injection. 8 releases · 1 other source · first seen Aug 2016

Also counts toward: PowerShell script execution, Python scripting support, Scripting language support

release 8 total

  • Adds support for Ncat, Netcat-Openbsd, and Bash via /dev/tcp on reverse_tcp and bind_tcp shell options v2.6-20180921 · Sep 2018 · source · release history
  • Adds support for Regsvr32.exe Application Whitelisting Bypass technique v1.8-20170315 · Mar 2017 · source · release history
  • Adds --msf-path option for specifying Metasploit installation path v1.5-20161117 · Nov 2016 · source · release history
  • Adds support for bind TCP shell via the bind_tcp option v1.4-20161017 · Oct 2016 · source · release history
  • Added support for the metasploit web_delivery script v1.3-20160914 · Sep 2016 · source · release history
  • Added support for generating Python/PHP meterpreter reverse TCP payloads via metasploit v1.3-20160914 · Sep 2016 · source · release history

example

  • Point commix to a specific Metasploit installation for exploitation modules. ./commix.py --url='http://target/page' --msf-path=/opt/metasploit-framework v1.5-20161117 · Nov 2016 · source
Session Management and Continuity shipped Supports saving, loading, ignoring, and flushing session data to resume interrupted campaigns or force fresh scans. 4 releases · 3 other sources · first seen Feb 2016

Also counts toward: Command-line interface

release

  • Adds --flush-session CLI flag for flushing session files for current target v0.4.1b-20160226 · Feb 2016 · source · release history
  • Adds -s CLI flag for loading executed commands from a session file v0.4.1b-20160226 · Feb 2016 · source · release history
  • Adds --ignore-session CLI flag to ignore results stored in session file v0.4.1b-20160226 · Feb 2016 · source · release history
  • Adds capability to resume injection points from a previous session v0.4.1b-20160226 · Feb 2016 · source · release history

example

  • Force a fresh scan by ignoring any previously saved session data for the target. commix -u "http://target.com/vuln?param=<cmd>" --ignore-session v0.4.1b-20160226 · Feb 2016 · source
  • Clear all stored session data for the current target before starting a new test. commix -u "http://target.com/vuln?param=<cmd>" --flush-session v0.4.1b-20160226 · Feb 2016 · source
  • Resume an interrupted injection campaign by loading previously executed commands from the session file. commix -u "http://target.com/vuln?param=<cmd>" -s v0.4.1b-20160226 · Feb 2016 · source
Interactive Prompt Automation shipped suggested Handles interactive prompts and questions during scanning without manual intervention. 3 releases · 2 other sources · first seen Dec 2016

Suggested capability: Web vulnerability scanning. This is our guess, not confirmed.

release

  • Adds new option --answers to set user answers to asked questions during commix run v3.5 · Jul 2022 · source · release history
  • Adds --wizard option for a beginner-friendly interface v1.9-20170502 · May 2017 · source · release history
  • Add --batch option to skip all user input prompts by using default behavior. v1.6-20161228 · Dec 2016 · source · release history

example

  • Automate interactions with interactive prompts (e.g., WAF bypass questions) without manual input. commix -u 'http://example.com' --answers 'Y,N,Y' v3.5 · Jul 2022 · source
  • Use the interactive wizard to configure a test without memorizing flags. commix --wizard v1.9-20170502 · May 2017 · source
Out-of-Band Data Exfiltration shipped Provides mechanisms for exfiltrating data via ICMP and DNS channels. 3 releases · 2 other sources · first seen Mar 2016

release

  • Removed the deprecated modules ICMP exfiltration and DNS exfiltration v3.5 · Jul 2022 · source · release history
  • --dns-server option supports the DNS exfiltration injection technique v0.6b-20160401 · Apr 2016 · source · release history
  • Verbose mode added to ICMP exfiltration injection technique module. v0.5b-20160316 · Mar 2016 · source · release history

example

  • Scan a target while bypassing WAF heuristic detection using the DNS exfiltration technique on a specific server. commix --url "http://example.com/page.php?param=val" --dns-server="8.8.8.8" --skip-waf v0.6b-20160401 · Apr 2016 · source
  • Enable verbose output for the ICMP exfiltration module to see detailed packet exchange logs. commix --url="http://example.com/vuln" --param="id" --technique=I --verbose v0.5b-20160316 · Mar 2016 · source
Encoding Codec Configuration shipped Allows specifying the encoding codec for payloads via command-line flags. 4 releases · 1 other source · first seen Mar 2017

Also counts toward: Command-line interface

release

  • The --encoding option has been replaced with --codec. Existing scripts using --encoding will fail. v3.4 · Feb 2022 · source · release history
  • Replaces the --encoding option with --codec. v3.4 · Feb 2022 · source · release history
  • Adds --encoding option to replace the previous --charset flag for specifying custom character sets during data retrieval. v2.3-20180307 · Mar 2018 · source · release history
  • Adds --charset option to force character encoding for data retrieval v1.8-20170315 · Mar 2017 · source · release history

example

  • Specify encoding codec using the new --codec flag. commix --url "http://example.com/page?id=1" --codec=utf-8 v3.4 · Feb 2022 · source
Connection and Retry Management shipped suggested Manages network instability by allowing retries on connection timeouts, enforcing request delays, and limiting failed attempts to prevent noise. 2 releases · 3 other sources · first seen Mar 2017

Suggested capability: Web vulnerability scanning. This is our guess, not confirmed.

Also counts toward: Command-line interface

release

  • Adds --retries option to retry requests on connection timeout v2.0-20170714 · Jul 2017 · source · release history
  • Replaces --delay with --time-sec to control HTTP request delay v1.8-20170315 · Mar 2017 · source · release history

example

  • Prevent the tool from hanging on unresponsive targets by setting a specific connection timeout. commix --url "http://example.com/vuln.php?param=value" --timeout=5 v3.2 · Apr 2021 · source
  • Stop the attack after 3 failed attempts to avoid noisy logs or timeouts. commix --url "http://example.com/page" --failed-tries=3 v2.2-20171212 · Dec 2017 · source
  • Automatically retry failed requests due to network instability during an assessment. commix --url "http://example.com/page?id=1" --retries 5 v2.0-20170714 · Jul 2017 · source
Offline Operation shipped Allows the cyber tool to run without an active internet connection by bypassing network-dependent checks or relying on local logic. 4 releases · 1 other source · first seen Dec 2016

Also counts toward: Command-line interface, Offline mode

release

  • Adds --failed-tries to limit the number of failed injection attempts in file-based techniques v2.2-20171212 · Dec 2017 · source · release history
  • Adds --check-internet CLI option to validate internet connectivity prior to target assessment. v2.1-20171003 · Oct 2017 · source · release history
  • Adds --check-tor CLI option to verify Tor connectivity before exploitation. v2.1-20171003 · Oct 2017 · source · release history
  • Add --offline flag to operate the scanner without an active internet connection. v1.6-20161228 · Dec 2016 · source · release history

example

  • Validate Tor connectivity and purge previous output files before starting. commix --url "http://target.com/vuln" --check-tor --purge-output v2.1-20171003 · Oct 2017 · source
Response Stability Verification shipped suggested Verifies target URL content stability by comparing responses across delayed requests. 4 releases · first seen Apr 2016

Suggested capability: Web vulnerability scanning. This is our guess, not confirmed.

release

  • Adds ability to verify target URL content stability by comparing responses across delayed requests. v4.1 · Dec 2025 · source · release history
  • Verbose mode (-v) added to HTTP authentication dictionary-based cracker. v0.7b-20160418 · Apr 2016 · source · release history
  • Session files can now store valid (Digest) credentials for the current target using store_credentials capability. v0.7b-20160418 · Apr 2016 · source · release history
  • Dictionary-based cracker for Basic HTTP authentication credentials added with identifier support v0.6b-20160401 · Apr 2016 · source · release history
Heuristic-Based Testing shipped suggested Uses heuristics to detect command injections and run tests only when positive indicators are found. 3 releases · 1 other source · first seen Sep 2021

Suggested capability: Web vulnerability scanning. This is our guess, not confirmed.

Also counts toward: Command-line interface

release

  • --smart option runs tests only when positive heuristics are detected. v3.9 · Jan 2024 · source · release history
  • Added support for heuristic detection regarding command injections v3.5 · Jul 2022 · source · release history
  • Adds --skip-heuristic flag to skip dynamic code evaluation heuristic check v3.3 · Sep 2021 · source · release history

example

  • Scan a target while bypassing the tool's dynamic code evaluation heuristics to avoid false negatives commix --url "http://target.com/page.php?id=1" --skip-heuristic v3.3 · Sep 2021 · source
Logging Control shipped Allows disabling file logging for restricted environments. 2 releases · 1 other source · first seen Oct 2017

Also counts toward: Command-line interface

release

  • Adds new option --no-logging for disabling logging to a file v3.5 · Jul 2022 · source · release history
  • Adds --purge-output CLI option to safely delete all contents from the output directory. v2.1-20171003 · Oct 2017 · source · release history

example

  • Disable file logging for environments where disk I/O is restricted or logs are managed externally. commix -u 'http://example.com' --no-logging v3.5 · Jul 2022 · source
Authentication Cracking shipped Provides dictionary-based cracking capabilities for Basic and Digest HTTP authentication credentials. 3 releases · first seen Apr 2016

Also counts toward: Command-line interface

release

  • Adds support for parsing custom wordlists regarding HTTP authentication (i.e. Basic, Digest) dictionary-based cracker v3.3 · Sep 2021 · source · release history
  • Verbose mode (-v) added to HTTP authentication dictionary-based cracker. v0.7b-20160418 · Apr 2016 · source · release history
  • Dictionary-based cracker for Basic HTTP authentication credentials added with identifier support v0.6b-20160401 · Apr 2016 · source · release history
HTTP Protocol Version Control shipped Forces the use of specific HTTP protocol versions (e.g., HTTP/1.0) for compatibility. 1 release · 1 other source · first seen Dec 2025

Also counts toward: Command-line interface

release

  • Adds --http1.0 switch to force all outgoing requests to use HTTP/1.0 protocol. v4.1 · Dec 2025 · source · release history

example

  • Force HTTP/1.0 protocol for compatibility with legacy servers that reject HTTP/1.1 keep-alive connections. commix --url "http://example.com/page?id=1" --http1.0 v4.1 · Dec 2025 · source
Proxy Bypass shipped Ignores system default HTTP proxies when configured. 1 release · first seen Jan 2024

release

  • --ignore-proxy switch ignores the system default HTTP proxy. v3.9 · Jan 2024 · source · release history
Alert Actions shipped Executes specified host OS commands upon detecting an injection point. 1 release · first seen Aug 2023

Also counts toward: Command-line interface

release

  • Adds new --alert option to run a specified host OS command upon detecting an injection point. v3.8 · Aug 2023 · source · release history
Dependency Verification shipped Verifies or ignores script dependencies during execution. 1 release · first seen Aug 2023

release

  • The --dependencies flag has been replaced by --ignore-dependencies, breaking scripts that use the former. v3.8 · Aug 2023 · source · release history
Standard Input Processing shipped Accepts target lists or data from piped input (stdin) for automation. 1 release · first seen Jul 2022

release

  • Added support regarding parsing target(s) from piped-input (i.e. stdin) v3.5 · Jul 2022 · source · release history
Multi-Host File Input shipped Accepts a list of target hosts from a text file to scan multiple systems in a single run. 1 other source · first seen Dec 2016

example

  • Scan multiple hosts listed in a text file for cyber vulnerabilities. commix -m targets.txt v1.6-20161228 · Dec 2016 · source
Unattended Execution shipped Supports running the cyber tool non-interactively, suitable for automation in CI/CD pipelines or unattended scripts. 1 other source · first seen Dec 2016

Also counts toward: CI/CD pipeline integration

example

  • Run the cyber tool non-interactively in a CI/CD pipeline or unattended script. commix --url "http://target/page" --data "param=value" --batch v1.6-20161228 · Dec 2016 · source
Hex Encoding Support shipped Provides the ability to encode injection payloads into hex format before transmission. 1 other source · first seen Nov 2016

example

  • Encode injection payloads to hex format before sending. ./commix.py --url='http://target/page' --tamper=hexencode.py v1.5-20161117 · Nov 2016 · source

Lines in monospace are the tool's own words: help text parsed from its source, or an endpoint from its API document. Under release, a line is our summary of a dated release. Under docs, it is quoted from the tool's own documentation or website. Each links back to the source it came from.

Score card

  1. Shipping velocity releases a month, last 12 months
  2. Documentation quality release-notes rubric, 0–100
  3. Breaking-change discipline how rarely a release breaks users, and notice given
  4. Maintenance risk quiet time against its own cadence, maintainers
  5. Innovation & surface new capabilities, API and MCP surface
  6. Community health
  7. Contributor trend distinct committers, this year against last
  8. Maintainer concentration bus factor now against a year ago
  9. Issue backlog trend issues closed per issue opened, 12 months
  10. Responsiveness median time to a maintainer’s first reply

Nine scores for Commix, each built from the releases, notes and API history this site tracks — and, on Researcher and Business, where it stands among every measured tool in its category and how that has moved.

Score cards are part of every paid plan.

See plans →

Each score is 0–100 on a published rubric, derived from data this site already shows. A dimension we cannot measure says so — it is never scored 0 and never enters a rank.

How this is scored
  • Shipping velocity — releases a month over the last 12 months, on a log scale where 16 a month scores 100. Needs 3 releases in the window.
  • Documentation quality — the release-notes rubric published on the analytics page, unchanged.
  • Breaking-change discipline — the share of releases carrying a breaking change (none scores 100, half or more scores 0). Only projects that label breaking changes are measured: a clean record cannot be told from an unlabelled one.
  • Maintenance risk — quiet time measured against the tool's own release cadence (quiet longer than 90 days and three typical gaps scores 0), plus the number of active maintainers and whether contributors are growing, where known. Higher is lower risk.
  • Innovation & surface — new capabilities in the feature ledger this year, API and MCP operations added, and the share of commits that are features: the mean of whichever we hold.
  • Community health (open-source tools only) — each is a direction, not a size: contributors this year against last, the bus factor now against a year ago, and issues closed per issue opened, where steady scores 50, doubled 100 and halved 0; plus the median time to a maintainer's first reply (an hour scores about 100, a month or more 0). A commercial card has no repository and carries none of the four.
  • Documented delivery (commercial tools) — when a vendor's documented new capabilities have slowed against its own baseline, that counts against the overall standing as heavily as two low dimensions. Steady delivery, or too little history to judge, leaves the standing alone; it is never a sixth score.
  • Open-source tools are scored on repository signals; commercial tools on their published changelog. Ranks compare tools within one category and one profile and need at least five measured peers; the overall standing needs three ranked dimensions. Best-in-breed or consolidator is a shape, not a quality, and is never scored.

Release-note detail over time

See how much detail Commix puts in its release notes, quarter by quarter, and compare it with tracked tools in the same category. This history uses up to ten retained, reviewed notes per tool; sparse or blank older quarters may reflect that limit.

Checking release-note history…

Explore the full chart →

Releases

Show

39 entries

  1. December 20251
  2. December 20241
  3. January 20241
  4. August 20231
  5. February 20231
  6. November 20221
  7. July 20221
  8. February 20221
  9. September 20211
  10. April 20211
  11. June 20201
  12. November 20191
  13. March 20191
  14. December 20181
  15. September 20181
  16. July 20181
  17. May 20181
  18. March 20181
  19. December 20171
  20. October 20171
  21. July 20171
  22. May 20171
  23. March 20171
  24. February 20171
  25. December 20161
  26. November 20161
  27. October 20161
  28. September 20161
  29. August 20161
  30. July 20161
  31. June 20162
  32. May 20161
  33. April 20162
  34. March 20161
  35. February 20162
  36. January 20161
    Show

    39 entries

    Project health

    Issue, contributor and maintainer activity in commixproject/commix, 2023-12 – 2026-11, as of 2026-11-03. Twelve-month figures first; the trend lines run the whole window.

    1. Contributors 3 ±0 vs prior 12 months
    2. Maintainers 1 +0 joined · −0 left, last 12 months
    3. Bus factor 1 committers behind half the commits
    4. Community-filed 100% of issues opened, last 12 months
    5. Median time to close 5.8 days first maintainer reply 1.3 hours
    6. Open backlog 0 of 1,008 issues ever filed
    1. Issues opened / month 0 · 0 communitymaintainers
    2. Open backlog 0
    3. Contributors / month 0
    4. Commits / month 0
    5. Stars 5,854
    Issue themes, last 12 months
    • bugs 25%
    • features 13%
    • other 62%

    Counts from the project's public repository and git history; no individuals are identified. Maintainers are the committers covering 80% of the last year's commits. how we measure this

    Articles

    3 articles · updated Nov 5, 2026

    Where Commix turns up in what others publish: how-tos, attack reports that name it, and incident write-ups. A row says why it is here and quotes where the article names it; the link goes to the publisher.

    Tutorials & guides 3

    • Command Injection to Meterpreter using Commix Hacking Articles
      Commix is an automated command injection tool.
      2 more quotes
      Commix is widely used by security experts, penetration testers and also web developers in order to find vulnerabilities.
      In this article , we will learn how to get a meterpreter session using commix.
    • Exploit Command Injection Vulnearbility with Commix and Netcat Hacking Articles
      Commix is an automated command injection tool.
      2 more quotes
      Commix is widely used by security experts, penetration testers and also web developers in order to find vulnerabilities.
      In this article , we will learn how to get a netcat session using commix.
    • Powershell Injection Attacks using Commix and Magic Unicorn Hacking Articles
      Open the terminal in kali Linux and type the commix command.
      2 more quotes
      Commix found the target seems injectable via blind injection techniques and will further ask for pseudo terminal.
      Type ‘y’ to resumed the classic injection point and to pseudo terminal shell Here we got the commix os shell but our aim is meterpreter shell for that we need to type following commands.

    Libraries its release ships

    What its latest release locks, checked against known advisories.

    None of its release's images build from a lockfile we can read.

    Add the badge to your README

    Maintain this project? The badge links readers straight to this page, so they can follow every release here.

    Tracked by Cyber Toolchain Choose a badge style and copy the code →
    browse all tools → score card for your toolchain →