Code Injection

Code Injection

┬ę Copyright Shutterstock/ozrimoz

Was ist Code Injection?

Code Injection bedeutet, dass ein Angreifer PHP-Code in eine Anwendung einschleust und die M├Âglichkeit hat diese auf dem Server auszuf├╝hren. Ein erfolgreicher Code Injection Angriff hat zur Folge, dass der Angreifer in der Lage ist Scripte und Datenb├Ąnke manipulieren zu k├Ânnen.

Beschreibung

Die Software erstellt ein komplettes oder ein Teil eines Codesegments mit von au├čen beeinflussten Eingaben. Spezielle Elemente einer Komponente werden dabei nicht oder fehlerhaft neutralisiert, die die Syntax oder das Verhalten des beabsichtigten Codesegments modifizieren.

Wenn die Eingaben eines Benutzers Code-Syntax enthalten, kann es f├╝r einen Angreifer m├Âglich sein, den Code so zu gestalten, dass der beabsichtigte Steuerungsfluss der Software ge├Ąndert wird. Eine solche ├änderung kann zur Ausf├╝hrung von willk├╝rlichem Code f├╝hren.

Auswirkung

Es ist am effektivsten, diese Schw├Ąchen zu diskutieren, indem man die Besonderheiten erkennt, die sie als Injection Anf├Ąlligkeiten einstufen. Der wichtigste zu beachtende Punkt ist, dass alle Injection Probleme eines gemeinsam haben – d.h. sie erm├Âglichen die Injektion von Daten auf Steuerungsebene in die vom Benutzer gesteuerte Datenebene. Dies bedeutet, dass die Ausf├╝hrung des Prozesses durch Senden von Code ├╝ber legitime Datenkan├Ąle ohne Verwendung eines anderen Mechanismus ge├Ąndert werden kann. Die h├Ąufigsten Instanziierungen dieser Schwachstellen-Kategorie sind SQL-Injection- und Formatstring-Schwachstellen.

Tipp

├ťberpr├╝fen Sie die Sicherheit Ihrer Website mit unserem kostenlosen Security Crawler oder mit der OSG Performance Suite Free Version.

L├Âsung

Es ist sicherzustellen, dass der Code f├╝r ein Programm nicht dynamisch generiert werden muss. Der Code sollte in einer Umgebung ausgef├╝hrt werden, in der strikte Grenzen zwischen dem Prozess und dem Betriebssystem existieren. Dies kann zu effektiven Einschr├Ąnken f├╝r den Code f├╝hren.

Durch Eingabevalidierungen werden akzeptierte Eingaben zugelassen und Eingaben mit fehlerhaften Spezifikationen verworfen. Dabei sollte beachtet werden, dass bei der Eingabevalidierung alle potenziell relevanten Eigenschaften, einschlie├člich L├Ąnge, Eingabetyp, den gesamten zul├Ąssigen Wertebereich, fehlende oder zus├Ątzliche Eingaben, etc. ber├╝cksichtigt werden. Jedoch sollten nicht ausschlie├člich Blacklist verwendet werden. Um die Wahrscheinlichkeit einer Code Injection zu verringern, sollten zudem Whitelists verwendet werden, die die zul├Ąssigen Konstrukte begrenzen.

Datenbanklink zur Schwachstelle
https://cwe.mitre.org/data/definitions/94.html

Sie haben noch Fragen?

Kontaktieren Sie uns

Kostenloser SEO-Check der OSG


Weitere Inhalte