escapeshellcmd

(PHP 4, PHP 5, PHP 7, PHP 8)

escapeshellcmdMaskiert Metazeichen der Shell

Beschreibung

escapeshellcmd(string $command): string

escapeshellcmd() maskiert alle möglichen Zeichen in einer Zeichenkette, die dazu benutzt werden könnten, um einen Shellbefehl zur Durchführung beliebiger Befehle zu veranlassen. Diese Funktion sollte verwendet werden, um sicherzustellen, dass alle Daten aus einer Benutzereingabe maskiert werden, bevor diese Daten zu einer der Funktionen exec(), system() oder dem Backtick-Operator übergeben werden

Folgenden Zeichen wird ein Backslash vorangestellt: &#;`|*?~<>^()[]{}$\, \x0A und \xFF. ' und " werden nur maskiert, wenn sie nicht paarweise auftreten. Unter Windows wird all diesen Zeichen sowie % und ! ein Caret-Zeichen (^) vorangestellt.

Parameter-Liste

command

Der zu maskierende Befehl.

Rückgabewerte

Die maskierte Zeichenkette.

Beispiele

Beispiel #1 escapeshellcmd()-Beispiel

<?php
// Wir erlauben hier absichtlich eine beliebige Anzahl von Argumenten
$command './configure '.$_POST['configure_options'];

$escaped_command escapeshellcmd($command);

system($escaped_command);
?>

Warnung

escapeshellcmd() sollte auf die gesamte Befehls-Zeichenkette angewendet werden. Trotzdem kann der Angreifer damit eine beliebige Anzahl von Argumenten übergeben. Um einzelne Argumente zu maskieren, sollte stattdessen escapeshellarg() verwendet werden.

Warnung

Leerzeichen werden von escapeshellcmd() nicht maskiert, was unter Windows bei Pfaden wie C:\Program Files\ProgramName\program.exe problematisch sein kann. Dies kann mit dem folgenden Codeschnipsel entschärft werden:

<?php
$cmd 
preg_replace('`(?<!^) `''^ 'escapeshellcmd($cmd));

Siehe auch

  • escapeshellarg() - Maskiert eine Zeichenkette (String), um sie als Shell-Argument benutzen zu können
  • exec() - Führt ein externes Programm aus
  • popen() - Öffnet einen Dateizeiger für einen Prozess
  • system() - Führt ein externes Programm aus und zeigt dessen Ausgabe an
  • Backtick-Operator

Hier Kannst Du einen Kommentar verfassen


Bitte gib mindestens 10 Zeichen ein.
Wird geladen... Bitte warte.
* Pflichtangabe
Es sind noch keine Kommentare vorhanden.

Midjourney Tutorial - Anleitung für Anfänger

Über Midjourney, dem Tool zur Erstellung digitaler Bilder mithilfe von künstlicher Intelligenz, gibt es ein informatives Video mit dem Titel "Midjourney Tutorial auf Deutsch - Anleitung für Anfänger" ...

Mike94

Autor : Mike94
Kategorie: KI Tutorials

Grundlagen von Views in MySQL

Views in einer MySQL-Datenbank bieten die Möglichkeit, eine virtuelle Tabelle basierend auf dem Ergebnis einer SQL-Abfrage zu erstellen. ...

admin

Autor : admin
Kategorie: mySQL-Tutorials

Definition von Stored Procedures - eine Einführung

Stored Procedures sind vordefinierte SQL-Codeblöcke, die in einer Datenbank gespeichert sind und bei Bedarf aufgerufen werden können. ...

Bernie

Autor : ebiz-consult GmbH & Co. KG
Kategorie: mySQL-Tutorials

Tutorial veröffentlichen

Tutorial veröffentlichen

Teile Dein Wissen mit anderen Entwicklern weltweit

Du bist Profi in deinem Bereich und möchtest dein Wissen teilen, dann melde dich jetzt an und teile es mit unserer PHP-Community

mehr erfahren

Tutorial veröffentlichen

MovieClip leeren (AS3)

Ich war wirklich besorgt um meine bachelorarbeit schreiben lassen​ (https://xn--ghostwriter-sterreich-sec.at/bachelorarbeit-schreiben-lassen/). ...

Geschrieben von Farebn am 26.04.2024 22:50:34
Forum: Grafik / Design / Flash ...
Berechnungen durchführen

Hallo liebe Forenmitglieder, meine erste frage ist zum Aufbau meiner kleinen Berechnungswebseite, nichts kommerzielles, soll nur eine Anwendung f ...

Geschrieben von matze511 am 21.04.2024 21:42:37
Forum: PHP Developer Forum
Professioneller Webentwickler & Webdesigner

Of course, here is the translation: Hello, Thank you for your interest in the long-term project. Your extensive skills and experience in web dev ...

Geschrieben von Athelstan am 15.04.2024 09:25:39
Forum: Jobgesuche
Wir stellen unsere SEO-Agentur vor

Hallo In der heutigen digitalen Welt war es für Unternehmen noch nie so einfach, ihre Reichweite weltweit zu vergrößern. Wenn Sie außerhalb I ...

Geschrieben von thomasmuller am 14.04.2024 07:18:33
Forum: User stellen sich vor