Basic Payloads
Context Escaping
Depending on where your input is injected, you may need to terminate the quoted context first:Top Vulnerable Parameters
Node.js child_process.exec vs execFile
exec() call (Pwn2Own Ireland 2024).
Argument/Option Injection via Leading Hyphen
Not all injections require shell metacharacters. If untrusted strings are passed as arguments to system utilities (even withexecFile), programs parse - and -- arguments as options:
Bash Arithmetic Evaluation Injection
RewriteMap helpers in bash using arithmetic contexts ([[ $a -gt $b ]], $((...)), let) re-expand variables:
JVM Diagnostic Callbacks for Guaranteed RCE
Any primitive that lets you inject JVM command-line arguments can be turned into reliable RCE:Blind Exfiltration
- Time-Based
- DNS Exfiltration
Filter Bypasses
- Windows
- Linux