loading
loading
Vulnerabilities
Automates OS command injection detection and exploitation.
overview
Commix automates OS command injection testing against a URL. Name injectable fields with -p, send POST bodies with --data, and confirm across classic, eval, time, and file techniques.
Raise --level (1-3) for more injection points. Limit methods with --technique, evade filters with --tamper, and hop through --proxy when needed. --crawl can discover parameters when you have not named one yet.
Trickest hosts Commix as a managed Vulnerabilities node: target URL or file in, results folder out. Feed endpoints a crawler already surfaced; confirmed injections are high-priority findings for the rest of the pipeline.
use cases
Test a URL and its parameters across classic, eval-based, time-based, and file-based techniques so injectable points get confirmed without hand-crafting payloads.
Once a point is found, run host commands with --os-cmd or an interactive os-shell, read and write files, and retrieve system info to demonstrate real impact.
Route requests through --proxy or --tor and apply --tamper scripts so testing reaches targets behind WAFs and network controls.
Enable --crawl or sitemap parsing so Commix discovers parameters to test instead of relying on a single value you pass with -p.
reference
| Name | Type | Flag | Description |
|---|---|---|---|
| url | STRING | · | Target URL to test. |
| parameter | STRING | -p | Testable parameter(s) to inject into. |
| data | STRING | --data | Data string sent through POST. |
| level | STRING | --level | Level of tests to perform (1-3, default 1). |
| technique | STRING | --technique | Injection technique(s) to use (classic, eval, time, file). |
| os-cmd | STRING | --os-cmd | Execute a single operating system command on the host. |
| crawl | BOOLEAN | --crawl | Crawl the website starting from the target URL. |
| proxy | STRING | --proxy | Route requests through a proxy to reach the target. |
Showing key inputs. commix exposes 86 inputs in total.
| Name | Type | Flag | Description |
|---|---|---|---|
| os | STRING | --os | Force back-end operating system (e.g. 'Windows' or 'Unix'). |
| all | BOOLEAN | --all | Retrieve everything. |
| tor | BOOLEAN | --tor | Use the Tor network. |
| url | STRING | · | Target URL. |
| data | STRING | --data | Data string to be sent through POST. |
| host | STRING | --host | HTTP Host header. |
| skip | STRING | --skip | Skip testing for given parameter(s). |
| urls | FILE | · | Scan multiple targets given in a textual file. |
| alert | STRING | --alert | Run host OS command(s) when injection point is found. |
| codec | STRING | --codec | Force codec for character encoding (e.g. 'ascii'). |
| crawl | BOOLEAN | --crawl | Crawl the website starting from the target URL |
| delay | STRING | --delay | Seconds to delay between each HTTP request. |
| level | STRING | --level | Level of tests to perform (1-3, Default: 1). |
| proxy | STRING | --proxy | Use a proxy to connect to the target URL. |
| purge | BOOLEAN | --purge | Safely remove all content from commix data directory. |
| smart | BOOLEAN | --smart | Perform thorough tests only if positive heuristic(s). |
| users | BOOLEAN | --users | Retrieve system users. |
| cookie | STRING | --cookie | HTTP Cookie header. |
| header | STRING | --header | Extra header (e.g. 'X-Forwarded-For: 127.0.0.1'). |
| maxlen | STRING | --maxlen | Set the max length of output for time-related |
| method | STRING | --method | Force usage of given HTTP method (e.g. PUT) |
| mobile | BOOLEAN | --mobile | Imitate smartphone through HTTP User-Agent header. |
| os-cmd | STRING | --os-cmd | Execute a single operating system command. |
| prefix | STRING | --prefix | Injection payload prefix string. |
| suffix | STRING | --suffix | Injection payload suffix string. |
| tamper | STRING | --tamper | Use given script(s) for tampering injection data. |
| answers | STRING | --answers | Set predefined answers (e.g. "quit=N,follow=N") |
| charset | STRING | --charset | Time-related injection charset (e.g. "0123456789abcdef") |
| headers | STRING | --headers | Extra headers (e.g. 'Accept-Language: fr\nETag: 123'). |
| is-root | BOOLEAN | --is-root | Check if the current user have root privileges. |
| offline | BOOLEAN | --offline | Work in offline mode. |
| referer | STRING | --referer | HTTP Referer header. |
| request | FILE | -r | Load HTTP request from a file. |
| retries | STRING | --retries | Retries when the connection timeouts (Default: 3). |
| session | FILE | -s | Load session from a stored (.sqlite) file. |
| sitemap | BOOLEAN | -x | Parse target(s) from remote sitemap(.xml) file. |
| timeout | STRING | --timeout | Seconds to wait before timeout connection (Default: |
| auth-url | STRING | --auth-url | Login panel URL. |
| hostname | BOOLEAN | --hostname | Retrieve current hostname. |
| is-admin | BOOLEAN | --is-admin | Check if the current user have admin privileges. |
| log-file | FILE | -l | Parse target from HTTP proxy log file. |
| skip-waf | BOOLEAN | --skip-waf | Skip heuristic detection of WAF/IPS/IDS protection. |
| sys-info | BOOLEAN | --sys-info | Retrieve system information. |
| time-sec | STRING | --time-sec | Seconds to delay the OS response (Default: 1). |
| tmp-path | STRING | --tmp-path | Set the absolute path of web server's temp directory. |
| tor-port | STRING | --tor-port | Set Tor proxy port (Default: 8118). |
| web-root | STRING | --web-root | Set the web server document root directory (e.g. '/var/www'). |
| auth-cred | STRING | --auth-cred | HTTP authentication credentials (e.g. 'admin:admin'). |
| auth-data | STRING | --auth-data | Login parameters and data. |
| auth-type | STRING | --auth-type | HTTP authentication type (Basic, Digest, Bearer). |
| file-dest | STRING | --file-dest | Host's absolute filepath to write and/or upload to. |
| file-read | STRING | --file-read | Read a file from the target host. |
| force-ssl | BOOLEAN | --force-ssl | Force usage of SSL/HTTPS. |
| param-del | STRING | --param-del | Set character for splitting parameter values. |
| parameter | STRING | -p | Testable parameter(s). |
| passwords | BOOLEAN | --passwords | Retrieve system users password hashes. |
| skip-calc | BOOLEAN | --skip-calc | Skip the mathematic calculation during the detection |
| technique | STRING | --technique | Specify injection technique(s) to use. |
| tor-check | BOOLEAN | --tor-check | Check to see if Tor is used properly. |
| verbosity | STRING | -v | Verbosity level (0-4, Default: 0). |
| cookie-del | STRING | --cookie-del | Set character for splitting cookie values. |
| file-write | STRING | --file-write | Write to a file on the target host. |
| no-logging | BOOLEAN | --no-logging | Disable logging to a file. |
| privileges | BOOLEAN | --privileges | Retrieve system users privileges. |
| ps-version | BOOLEAN | --ps-version | Retrieve PowerShell's version number. |
| shellshock | BOOLEAN | --shellshock | The 'shellshock' injection module. |
| skip-empty | BOOLEAN | --skip-empty | Skip testing the parameter(s) with empty value(s). |
| url-reload | BOOLEAN | --url-reload | Reload target URL after command execution. |
| user-agent | STRING | --user-agent | HTTP User-Agent header. |
| alter-shell | STRING | --alter-shell | Use an alternative os-shell (e.g. 'Python'). |
| file-upload | STRING | --file-upload | Upload a file on the target host. |
| ignore-code | STRING | --ignore-code | Ignore (problematic) HTTP error code (e.g. 401). |
| current-user | BOOLEAN | --current-user | Retrieve current user name. |
| failed-tries | STRING | --failed-tries | Set a number of failed injection tries, in file-based |
| ignore-proxy | BOOLEAN | --ignore-proxy | Ignore system default proxy settings. |
| list-tampers | BOOLEAN | --list-tampers | Display list of available tamper scripts. |
| random-agent | BOOLEAN | --random-agent | Use a randomly selected HTTP User-Agent header. |
| crawl-exclude | STRING | --crawl-exclude | Regexp to exclude pages from crawling (e.g. "logout"). |
| flush-session | BOOLEAN | --flush-session | Flush session files for current target. |
| check-internet | BOOLEAN | --check-internet | Check internet connection before assessing the target. |
| ignore-session | BOOLEAN | --ignore-session | Ignore results stored in session file. |
| skip-technique | STRING | --skip-technique | Specify injection technique(s) to skip. |
| drop-set-cookie | BOOLEAN | --drop-set-cookie | Ignore Set-Cookie header from response. |
| skip-heuristics | BOOLEAN | --skip-heuristics | Skip heuristic detection for code injection. |
| ignore-redirects | BOOLEAN | --ignore-redirects | Ignore redirection attempts. |
| ignore-dependencies | BOOLEAN | --ignore-dependencies | Ignore all required third-party library dependencies. |
example
# detect and exploit command injection in the 'addr' POST parametercommix -u "https://example.com/ping.php" --data="addr=127.0.0.1" -p addr --level=2 --os-cmd="id"[*] Checking connection to the target URL... [ ok ][*] Setting the POST parameter 'addr' for tests.[*] Testing the (results-based) classic command injection technique... [ succeed ][+] The POST parameter 'addr' seems injectable via (results-based) classic command injection technique. [~] Payload: ;echo VCEKZP$((80+27))$(echo VCEKZP)VCEKZP[*] Type "?" for available options.commix(os_shell) > iduid=33(www-data) gid=33(www-data) groups=33(www-data)commix(os_shell) > hostnameweb01.example.comguidance
Reach for Commix when you suspect OS command injection and want detection plus exploitation in one tool. For SQL injection use sqlmap; for broad CVE coverage use nuclei. Feed it endpoints that take user input.
Automates SQL injection. Commix is the command-injection counterpart with the same detect-and-exploit model.
Template scanner for broad coverage. Commix goes deeper on one injection class.
Targets server-side template injection. Different bug class, similar exploit flow.
faq
related
Parameter mining and XSS testing with headless verification.
Subdomain takeover scanner with cloud-zone intake.
Locate public CVE proof-of-concept repositories on GitHub.
Decode, forge, crack, and tamper JWTs for auth checks.
Triage reflected special characters on parameterized URLs.
Remote scanner for Log4Shell RCE, CVE-2021-44228.
A target feeds katana to surface parameters, then Commix tests them for command injection and writes confirmed injections as output.
Facts on this page come from the live Trickest tool library.