Shell-Sonderzeichen als Eingabe testen
In Shells haben Zeichen wie ;, |, &&, $( ) und Backticks eine besondere Bedeutung, weil sie Befehle verketten oder ersetzen. Die Beispiele zeigen solche Zeichenfolgen als reinen Text, außerdem einen Zeilenumbruch und ein Hochkomma, das aus einem Argument ausbricht. Sie dienen dazu, zu prüfen, ob die eigene Anwendung Eingaben nicht an eine Shell weitergibt oder nur sicher als Argument übergibt.
10 Varianten auf einer Seite, jede mit eigenem Kopier- oder Download-Knopf.
Shell-Probe ; ls
; ls
Hängt einen zweiten Befehl an. Sollte nie in eine Shell gelangen. Testzeichenfolge für eigene Systeme.
Shell-Probe | id
| id
Pipe in einen zweiten Befehl. Testzeichenfolge für eigene Systeme.
Shell-Probe && id
&& id
Bedingte Verkettung. Testzeichenfolge für eigene Systeme.
Shell-Probe || id
|| id
Fallback-Verkettung. Testzeichenfolge für eigene Systeme.
Shell-Probe $(id)
$(id)
Kommandosubstitution. Testzeichenfolge für eigene Systeme.
Shell-Probe `id`
`id`
Kommandosubstitution mit Backticks. Testzeichenfolge für eigene Systeme.
Shell-Probe mit Zeilenumbruch
x id
Zeilenumbruch beendet einen Befehl in der Shell. Testzeichenfolge für eigene Systeme.
Shell-Probe '; id; echo '
'; id; echo '
Bricht aus einem einfach quotierten Argument aus. Testzeichenfolge für eigene Systeme.
Argument-Probe --help
--help
Beginnt mit -; wird als Option statt als Wert gelesen (Argument Injection). Testzeichenfolge für eigene Systeme.
Argument-Probe mit Leerzeichen: meine datei.txt
meine datei.txt
Ohne Quoting wird es zu zwei Argumenten. Testzeichenfolge für eigene Systeme.