Bundesamt für Sicherheit in der Informationstechnik

G 5.174 Injection-Angriffe

Bei einem Injection-Angriff versucht ein Angreifer, Befehle in eine Webanwendung oder einen Web-Service zu injizieren und auszuführen. Der Angriff richtet sich dabei in der Regel gegen serverseitig verwendete Interpreter oder einen Parser.

Werden beispielsweise eingehende Daten unzureichend validiert, so können Eingaben (zum Beispiel Formulardaten, Cookies, SOAP-Nachrichten oder HTTP -Header) so gewählt werden, dass sie von der Webanwendung und den verwendeten Interpretern beziehungsweise Parsern (zum Beispiel SQL -Datenbank, XML -Prozessoren, LDAP -Verzeichnisdienst) als Befehl interpretiert werden. Auf diese Weise können unbefugt Befehle zum Auslesen oder Manipulieren von Daten übermittelt werden.

Können mittels Injection beliebige System-Kommandos ausgeführt werden, so kann ein Angreifer die Webanwendung oder den Web-Service als Ersatz für eine System-Shell nutzen. Die abgesetzten System-Kommandos werden dabei üblicherweise im Sicherheitskontext und somit mit den Privilegien der Webanwendung/des Web-Service oder des verwendeten Interpreters beziehungsweise Parsers ausgeführt.

Injection-Angriffe werden anhand der angegriffenen Interpreter/Parser in Angriffstypen klassifiziert. Die folgenden Beispiele verdeutlichen diese Klassifizierung:

  • SQL-Injection (siehe auch G 5.131 SQL-Injection )
  • LDAP-Injection
  • Mail-Command-Injection
  • OS-Command-Injection
  • SSI-Injection
  • XPath-Injection
  • Code-Injection

Stand: 13. EL Stand 2013