exploiting-os-command-injection

Detects and exploits OS command injection vulnerabilities in web application parameters.

954|172|Updated Mar 13, 2026
One-click install
npx skills add https://github.com/xalgord/xalgorix --skill exploiting-os-command-injection
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: exploiting-os-command-injection
Source: https://github.com/xalgord/xalgorix/tree/main/internal/tools/skills/data/web-application-security/exploiting-os-command-injection
Command: npx skills add https://github.com/xalgord/xalgorix --skill exploiting-os-command-injection

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Web applications that pass user input to system shells are vulnerable to arbitrary command execution, but testers often miss these flaws by trying only one separator or skipping blind detection. This Skill provides a systematic methodology to find, confirm, and safely demonstrate OS command injection during authorized penetration tests.

Core Features & Use Cases

  • Full separator matrix testing: Covers ;, |, &&, backticks, $(), newline injection, and IFS/brace bypasses for filtered inputs across Linux and Windows targets.
  • Blind and out-of-band confirmation: Uses timing-based probes (sleep) and OOB DNS/HTTP callbacks via interactsh or Burp Collaborator when no output is reflected.
  • Safe proof-of-concept guidance: Restricts PoC to read-only commands like id and whoami, with a structured finding report format including CVSS, OWASP mapping, and remediation advice.
  • Use Case: While testing a "ping host" diagnostic page, you submit 127.0.0.1;id, observe uid=33(www-data) in the response, confirm blind variants with a 10-second sleep, and document a Critical command injection finding.

Quick Start

Ask the agent to test the target's diagnostic ping parameter for OS command injection using the full separator matrix and confirm any blind hits with timing and out-of-band callbacks.

Frequently Asked Questions about exploiting-os-command-injection

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I test for OS command injection in a web application?

Identify parameters that reach a shell (host, file, ping, format), then inject separator payloads like `;id`, `|id`, `$(id)`, and `%0aid`. Confirm in-band hits by looking for `uid=` output, and blind hits with timing delays or out-of-band DNS callbacks.

How to detect blind command injection with no output?

Use time-based payloads such as `;sleep 10` and verify the response delay tracks the sleep value across multiple durations. Alternatively, trigger an out-of-band DNS or HTTP request to an interactsh or Burp Collaborator domain and check for the callback.

What tools are used for command injection testing?

Burp Suite Professional handles interception, Intruder fuzzing, and Collaborator for OOB detection. interactsh provides self-hosted OOB callbacks, commix automates detection and exploitation, and ffuf fuzzes parameters with payload lists.

How do I bypass space filters in command injection payloads?

Replace spaces with `${IFS}`, `$IFS$9`, or brace expansion such as `{cat,/etc/passwd}`. You can also use input redirection like `;cat</etc/passwd` to read files without any spaces in the payload.

When should I not run command injection payloads?

Only test within authorized engagement scope, and never run destructive commands like rm, shutdown, or fork bombs. Limit proof-of-concept to read-only commands such as id, whoami, and hostname, and only establish shells if explicitly authorized.