Home

Befehlsinjektion

Befehlsinjektion bezeichnet eine Sicherheitslücke, bei der Angreifer OS-Befehle über eine anfällige Anwendung ausführen lassen können. Sie entsteht überwiegend, wenn Benutzereingaben oder untrusted Daten direkt in Betriebssystembefehle eingefügt werden, ohne ausreichende Trennung von Daten und Befehlen oder ohne sichere Abstraktionen. Dadurch können zusätzliche Befehle oder Kommandozeilenoperationen eingeschleust werden.

Funktionsweise: Viele Sprachen bieten Funktionen zum Ausführen von Systembefehlen. Wird ein Befehl aus Benutzereingaben konstruiert, kann

Gefährdung und Auswirkungen: Befehlsinjektion kann zu Remote-Code-Ausführung, Zugriff auf sensible Dateien, Privilegienerweiterung oder Systemmanipulation führen. Sie

Prävention: Grundsatz der geringsten Privilegien, Einsatz sicherer Abstraktionen statt direkter Shell-Aufrufe, Validierung und Whitelisting von Eingaben,

Zusammenhang: Befehlsinjektion gehört zur Klasse der Injection-Angriffe und ist in vielen Sicherheits-Frameworks wie OWASP Top 10

der
Angreifer
Zeichen
wie
Semikolon,
&&
oder
|
verwenden,
um
weitere
Befehle
anzuhängen
oder
bestehende
Befehle
zu
verändern.
Solche
Lücken
treten
oft
dort
auf,
wo
Eingaben
in
Shell-Befehle,
Dateinamen,
Pfadangaben
oder
Prozessstarter
integriert
werden.
betrifft
Webanwendungen,
Serverdienste
und
Desktop-Software,
insbesondere
dort,
wo
Befehle
an
das
Betriebssystem
weitergereicht
werden.
Vermeidung
von
Shell-Ausführung
(Bevorzugung
von
Befehlsargumenten
statt
zusammengesetzten
Kommandozeilenstrings),
Escape-Funktionen
nur
als
Notlösung,
detailliertes
Logging
und
Monitoring,
Einsatz
von
Containern
oder
Sandboxing
sowie
regelmäßige
Code-Reviews
und
Aktualisierungen.
thematisiert.