
Programmierer erobern Sicherheit: Serie „Teilen und Lernen“ — Code Injection
Code-Injection-Angriffe gehören zu den häufigsten und auch gefährlichsten Angriffen, denen viele Websites und Anwendungen ausgesetzt sind. Sie decken das gesamte Spektrum ab, sowohl in Bezug auf ihre Raffinesse als auch in Bezug auf die von ihnen ausgehende Gefahr, aber fast jede Website oder App, die Benutzereingaben akzeptiert, könnte anfällig sein. Tatsächlich ist diese Art von Angriff eine, mit der sich fast jeder Cybersicherheitsverteidiger irgendwann in seiner Karriere auseinandersetzen muss, und er wird sich wahrscheinlich mehrmals damit auseinandersetzen.
Ein Code-Injection-Angriff kann immer dann auftreten, wenn eine Anwendung oder Website Eingaben von Benutzern akzeptiert. Dies kann so einfach sein wie die Bereitstellung einer Suchfunktion oder die Aufforderung eines Benutzers, seine Identifikationsinformationen einzugeben. Der Angriff erfolgt, wenn ein böswilliger Benutzer anstelle der normalen Texteingabe Code in das offene Feld eingibt. Ihr Ziel ist es, den Server dazu zu bringen, die Eingabe mit gültigem Code zu verwechseln und dann alle vom Angreifer gewünschten Funktionen auszuführen.
Code-Injection-Angriffe sind zwar extrem häufig, aber auch die verfügbaren Abwehrmaßnahmen, mit denen sie gestoppt werden können. In dieser Episode werden wir lernen:
- So funktionieren sie
- Warum sie so gefährlich sind
- Wie Sie Abwehrmechanismen einrichten können, um sie zu stoppen.
Wie verwenden Angreifer Code Injection?
Obwohl sich die spezifischen Details zu Code-Injection-Angriffen je nach verwendeter Programmiersprache ändern, kann jede App oder Website anfällig sein, solange sie einem Benutzer die Eingabe von Daten ermöglicht. Code-Injection-Angriffe wurden für SQL, HTML, XML, CSS und jede andere gängige Programmiersprache ausgelöst.
Zunächst muss ein Angreifer anfälligen Code in einer Anwendung finden, normalerweise an einem Punkt, an dem Benutzer ihre eigenen Eingaben eingeben dürfen. Dieser Code verwendet beispielsweise die PHP-Funktion eval () und übergibt sie an einen Benutzer zur Änderung, ohne dass die Rückgabezeichenfolge überprüft wird.
$myvar = „Variablenname“;
$x = $_GET [Argument];
eval („\ $myvar =\ $x;“);
Ein cleverer Angreifer könnte der eval-Funktion leicht eine eigene Zeichenfolge hinzufügen und sogar Systembefehle ausführen, wenn er dies wünscht.
/index.php? Argument = 1; System (ID)
Es ist wichtig zu beachten, dass Code-Injection-Angriffe zwar das Senden von Systembefehlen beinhalten können, aber nicht darauf beschränkt sind, nur das zu tun. Tatsächlich sind Hacker bei Code-Injection-Angriffen nur durch die Funktionalität der Sprache selbst eingeschränkt. In unserem Beispiel könnte ein Angreifer das Zielsystem so programmieren, dass es fast alles tut, was das PHP-Framework zulässt.
Warum sind Code-Injection-Angriffe so gefährlich?
Code-Injection-Angriffe sind je nach Können des Angreifers potenziell extrem gefährlich. Sie können alles tun, was die Programmiersprache zulässt, was sie mit den Programmierern der App gleichstellt. Ein Angreifer könnte quasi seine eigene App schreiben und sie in der Zielumgebung ausführen lassen.
Selbst weniger geschickte Angreifer können gefährlich sein. Anstatt ihre eigene Anwendung oder Codezeichenfolgen zu schreiben, können sie das Zielsystem einfach anweisen, vorprogrammierte Malware zu akzeptieren und zu installieren. Dies könnte zur Verunstaltung der Website oder zu Ransomware-Angriffen führen oder sogar zur Grundlage für eine Phishing-Kampagne gegen die Nutzer der Website werden.
In den meisten Fällen werden Code-Injection-Angriffe verwendet, um Dinge wie Benutzerlisten und Passwörter zu stehlen oder wertvolle Erkenntnisse über ein System zu gewinnen, das weiteren Angriffen ausgesetzt ist. Aber seien Sie gewarnt, ein erfahrener Programmierer kann mit einem Code-Injection-Angriff fast alles machen. Deshalb ist es wichtig, dass jede potenzielle Instanz dieser Angriffe entdeckt und aus Ihrer Umgebung entfernt wird.
Vertraue niemandem! (Oder zumindest keine Benutzer)
Bei der Beseitigung von Sicherheitslücken bei Code-Injection-Angriffen sollten Sie zuerst nach einer Stelle suchen, die Benutzereingaben verlangt oder zulässt. Alles, was ein Benutzer eingibt, darf unter keinen Umständen als vertrauenswürdig eingestuft werden. Wenn Sie Benutzereingaben ohne Filterung oder Prüfung zulassen, laden Sie Angreifer im Grunde dazu ein, eine freie Chance zu haben, Ihr System oder sogar Ihr Netzwerk zu gefährden.
Obwohl dies nicht immer möglich ist, lassen sich Code-Injection-Angriffe am besten verhindern, indem Sie verhindern, dass Funktionen Benutzereingaben direkt ausführen oder interpretieren. Vielleicht können Benutzer zwischen statischen Optionen wählen, anstatt die Freiheit zu haben, ihre eigenen Abfragen einzugeben, wobei die Anwendung so programmiert ist, dass sie nur diese begrenzten Auswahlmöglichkeiten als gültig akzeptiert. Vielleicht ist das nicht immer angemessen, aber wenn Sie es, wo immer möglich, verwenden, können Codeinjektionen vermieden werden, bevor sie beginnen.
In Bereichen, in denen Benutzer ihre eigenen Eingaben eingeben müssen, müssen diese Daten streng kontrolliert werden. Angenommen, alles ist ein potenzieller Angriff, ist ein guter Anfang. Durch die Durchsetzung von Richtlinien mit den geringsten Rechten, wie z. B. schreibgeschütztem Benutzerzugriff, sowohl auf Client- als auch auf Serverseite, kann die Ausführung des größten Teils des Codes verhindert werden.
Die andere gute Verteidigung besteht darin, anwendungsweite Filter und Desinfizierungen für alles zu implementieren, was Benutzer eingeben. Entwickler sind sich seit Jahren der Code-Injection-Angriffe bewusst, und für jedes Framework und jede Sprache gibt es Bibliotheken mit bewährten Filtern. Achten Sie beim Anwenden dieser Filter darauf, dass Sie dies nicht nur an den offensichtlichen Benutzereingabebereichen oder an allgemeinen Parametern wie Get- und Post-Befehlen tun, sondern auch an Cookies und HTTP-Headern.
Anwenden einer Korrektur für die Codeinjektion
Wenn Sie unnötige Benutzereingabebereiche aus Ihrer Umgebung entfernen, die Prinzipien der geringsten Zugriffsrechte durchsetzen und die neuesten Filter- und Sanitisierungstools verwenden, um potenzielle Angriffe zu untersuchen und zu erkennen, können Sie diese gefährliche Sicherheitslücke schließen. Die Einstellung, Benutzereingaben niemals zu vertrauen, wird Ihnen auch in Zukunft gute Dienste leisten. Wenn Sie all das tun, sind Sie dieser gefährlichen Art von Angriffen immer einen Schritt voraus.
Für weitere Informationen können Sie sich die OWASP ansehen schreiben Sie auf Code-Injektion. Sie können Ihr neu gewonnenes Verteidigungswissen auch mit dem auf die Probe stellen kostenlose Demo der Secure Code Warrior-Plattform, die Cybersicherheitsteams zu ultimativen Cyberkriegern ausbildet. Um mehr über die Beseitigung dieser Sicherheitslücke und eine Galerie mit anderen Bedrohungen zu erfahren, besuchen Sie die Blog von Secure Code Warrior.
Gesichtscode-Injektion direkt, sofort. Nehmen Sie die Herausforderung auf unserer gamifizierten Trainingsplattform an: [Fangen Sie hier an]


Code-Injection-Angriffe gehören zu den häufigsten und auch gefährlichsten Angriffen, denen viele Websites und Anwendungen ausgesetzt sind. Sie decken das gesamte Spektrum ab, sowohl in Bezug auf ihre Raffinesse als auch in Bezug auf die von ihnen ausgehende Gefahr, aber fast jede Website oder App, die Benutzereingaben akzeptiert, könnte anfällig sein.
Jaap Karan Singh ist Secure Coding Evangelist, Chief Singh und Mitbegründer von Secure Code Warrior.

Secure Code Warrior a disposición de su empresa para ayudarle a proteger el código durante todo el ciclo de desarrollo de software y crear una cultura en la que la ciberseguridad sea una prioridad. Tanto si es responsable de seguridad de aplicaciones, desarrollador, responsable de seguridad de la información o cualquier otra persona relacionada con la seguridad, podemos ayudar a su empresa a reducir los riesgos asociados al código inseguro.
Reservar una demostraciónJaap Karan Singh ist Secure Coding Evangelist, Chief Singh und Mitbegründer von Secure Code Warrior.


Code-Injection-Angriffe gehören zu den häufigsten und auch gefährlichsten Angriffen, denen viele Websites und Anwendungen ausgesetzt sind. Sie decken das gesamte Spektrum ab, sowohl in Bezug auf ihre Raffinesse als auch in Bezug auf die von ihnen ausgehende Gefahr, aber fast jede Website oder App, die Benutzereingaben akzeptiert, könnte anfällig sein. Tatsächlich ist diese Art von Angriff eine, mit der sich fast jeder Cybersicherheitsverteidiger irgendwann in seiner Karriere auseinandersetzen muss, und er wird sich wahrscheinlich mehrmals damit auseinandersetzen.
Ein Code-Injection-Angriff kann immer dann auftreten, wenn eine Anwendung oder Website Eingaben von Benutzern akzeptiert. Dies kann so einfach sein wie die Bereitstellung einer Suchfunktion oder die Aufforderung eines Benutzers, seine Identifikationsinformationen einzugeben. Der Angriff erfolgt, wenn ein böswilliger Benutzer anstelle der normalen Texteingabe Code in das offene Feld eingibt. Ihr Ziel ist es, den Server dazu zu bringen, die Eingabe mit gültigem Code zu verwechseln und dann alle vom Angreifer gewünschten Funktionen auszuführen.
Code-Injection-Angriffe sind zwar extrem häufig, aber auch die verfügbaren Abwehrmaßnahmen, mit denen sie gestoppt werden können. In dieser Episode werden wir lernen:
- So funktionieren sie
- Warum sie so gefährlich sind
- Wie Sie Abwehrmechanismen einrichten können, um sie zu stoppen.
Wie verwenden Angreifer Code Injection?
Obwohl sich die spezifischen Details zu Code-Injection-Angriffen je nach verwendeter Programmiersprache ändern, kann jede App oder Website anfällig sein, solange sie einem Benutzer die Eingabe von Daten ermöglicht. Code-Injection-Angriffe wurden für SQL, HTML, XML, CSS und jede andere gängige Programmiersprache ausgelöst.
Zunächst muss ein Angreifer anfälligen Code in einer Anwendung finden, normalerweise an einem Punkt, an dem Benutzer ihre eigenen Eingaben eingeben dürfen. Dieser Code verwendet beispielsweise die PHP-Funktion eval () und übergibt sie an einen Benutzer zur Änderung, ohne dass die Rückgabezeichenfolge überprüft wird.
$myvar = „Variablenname“;
$x = $_GET [Argument];
eval („\ $myvar =\ $x;“);
Ein cleverer Angreifer könnte der eval-Funktion leicht eine eigene Zeichenfolge hinzufügen und sogar Systembefehle ausführen, wenn er dies wünscht.
/index.php? Argument = 1; System (ID)
Es ist wichtig zu beachten, dass Code-Injection-Angriffe zwar das Senden von Systembefehlen beinhalten können, aber nicht darauf beschränkt sind, nur das zu tun. Tatsächlich sind Hacker bei Code-Injection-Angriffen nur durch die Funktionalität der Sprache selbst eingeschränkt. In unserem Beispiel könnte ein Angreifer das Zielsystem so programmieren, dass es fast alles tut, was das PHP-Framework zulässt.
Warum sind Code-Injection-Angriffe so gefährlich?
Code-Injection-Angriffe sind je nach Können des Angreifers potenziell extrem gefährlich. Sie können alles tun, was die Programmiersprache zulässt, was sie mit den Programmierern der App gleichstellt. Ein Angreifer könnte quasi seine eigene App schreiben und sie in der Zielumgebung ausführen lassen.
Selbst weniger geschickte Angreifer können gefährlich sein. Anstatt ihre eigene Anwendung oder Codezeichenfolgen zu schreiben, können sie das Zielsystem einfach anweisen, vorprogrammierte Malware zu akzeptieren und zu installieren. Dies könnte zur Verunstaltung der Website oder zu Ransomware-Angriffen führen oder sogar zur Grundlage für eine Phishing-Kampagne gegen die Nutzer der Website werden.
In den meisten Fällen werden Code-Injection-Angriffe verwendet, um Dinge wie Benutzerlisten und Passwörter zu stehlen oder wertvolle Erkenntnisse über ein System zu gewinnen, das weiteren Angriffen ausgesetzt ist. Aber seien Sie gewarnt, ein erfahrener Programmierer kann mit einem Code-Injection-Angriff fast alles machen. Deshalb ist es wichtig, dass jede potenzielle Instanz dieser Angriffe entdeckt und aus Ihrer Umgebung entfernt wird.
Vertraue niemandem! (Oder zumindest keine Benutzer)
Bei der Beseitigung von Sicherheitslücken bei Code-Injection-Angriffen sollten Sie zuerst nach einer Stelle suchen, die Benutzereingaben verlangt oder zulässt. Alles, was ein Benutzer eingibt, darf unter keinen Umständen als vertrauenswürdig eingestuft werden. Wenn Sie Benutzereingaben ohne Filterung oder Prüfung zulassen, laden Sie Angreifer im Grunde dazu ein, eine freie Chance zu haben, Ihr System oder sogar Ihr Netzwerk zu gefährden.
Obwohl dies nicht immer möglich ist, lassen sich Code-Injection-Angriffe am besten verhindern, indem Sie verhindern, dass Funktionen Benutzereingaben direkt ausführen oder interpretieren. Vielleicht können Benutzer zwischen statischen Optionen wählen, anstatt die Freiheit zu haben, ihre eigenen Abfragen einzugeben, wobei die Anwendung so programmiert ist, dass sie nur diese begrenzten Auswahlmöglichkeiten als gültig akzeptiert. Vielleicht ist das nicht immer angemessen, aber wenn Sie es, wo immer möglich, verwenden, können Codeinjektionen vermieden werden, bevor sie beginnen.
In Bereichen, in denen Benutzer ihre eigenen Eingaben eingeben müssen, müssen diese Daten streng kontrolliert werden. Angenommen, alles ist ein potenzieller Angriff, ist ein guter Anfang. Durch die Durchsetzung von Richtlinien mit den geringsten Rechten, wie z. B. schreibgeschütztem Benutzerzugriff, sowohl auf Client- als auch auf Serverseite, kann die Ausführung des größten Teils des Codes verhindert werden.
Die andere gute Verteidigung besteht darin, anwendungsweite Filter und Desinfizierungen für alles zu implementieren, was Benutzer eingeben. Entwickler sind sich seit Jahren der Code-Injection-Angriffe bewusst, und für jedes Framework und jede Sprache gibt es Bibliotheken mit bewährten Filtern. Achten Sie beim Anwenden dieser Filter darauf, dass Sie dies nicht nur an den offensichtlichen Benutzereingabebereichen oder an allgemeinen Parametern wie Get- und Post-Befehlen tun, sondern auch an Cookies und HTTP-Headern.
Anwenden einer Korrektur für die Codeinjektion
Wenn Sie unnötige Benutzereingabebereiche aus Ihrer Umgebung entfernen, die Prinzipien der geringsten Zugriffsrechte durchsetzen und die neuesten Filter- und Sanitisierungstools verwenden, um potenzielle Angriffe zu untersuchen und zu erkennen, können Sie diese gefährliche Sicherheitslücke schließen. Die Einstellung, Benutzereingaben niemals zu vertrauen, wird Ihnen auch in Zukunft gute Dienste leisten. Wenn Sie all das tun, sind Sie dieser gefährlichen Art von Angriffen immer einen Schritt voraus.
Für weitere Informationen können Sie sich die OWASP ansehen schreiben Sie auf Code-Injektion. Sie können Ihr neu gewonnenes Verteidigungswissen auch mit dem auf die Probe stellen kostenlose Demo der Secure Code Warrior-Plattform, die Cybersicherheitsteams zu ultimativen Cyberkriegern ausbildet. Um mehr über die Beseitigung dieser Sicherheitslücke und eine Galerie mit anderen Bedrohungen zu erfahren, besuchen Sie die Blog von Secure Code Warrior.
Gesichtscode-Injektion direkt, sofort. Nehmen Sie die Herausforderung auf unserer gamifizierten Trainingsplattform an: [Fangen Sie hier an]

Code-Injection-Angriffe gehören zu den häufigsten und auch gefährlichsten Angriffen, denen viele Websites und Anwendungen ausgesetzt sind. Sie decken das gesamte Spektrum ab, sowohl in Bezug auf ihre Raffinesse als auch in Bezug auf die von ihnen ausgehende Gefahr, aber fast jede Website oder App, die Benutzereingaben akzeptiert, könnte anfällig sein. Tatsächlich ist diese Art von Angriff eine, mit der sich fast jeder Cybersicherheitsverteidiger irgendwann in seiner Karriere auseinandersetzen muss, und er wird sich wahrscheinlich mehrmals damit auseinandersetzen.
Ein Code-Injection-Angriff kann immer dann auftreten, wenn eine Anwendung oder Website Eingaben von Benutzern akzeptiert. Dies kann so einfach sein wie die Bereitstellung einer Suchfunktion oder die Aufforderung eines Benutzers, seine Identifikationsinformationen einzugeben. Der Angriff erfolgt, wenn ein böswilliger Benutzer anstelle der normalen Texteingabe Code in das offene Feld eingibt. Ihr Ziel ist es, den Server dazu zu bringen, die Eingabe mit gültigem Code zu verwechseln und dann alle vom Angreifer gewünschten Funktionen auszuführen.
Code-Injection-Angriffe sind zwar extrem häufig, aber auch die verfügbaren Abwehrmaßnahmen, mit denen sie gestoppt werden können. In dieser Episode werden wir lernen:
- So funktionieren sie
- Warum sie so gefährlich sind
- Wie Sie Abwehrmechanismen einrichten können, um sie zu stoppen.
Wie verwenden Angreifer Code Injection?
Obwohl sich die spezifischen Details zu Code-Injection-Angriffen je nach verwendeter Programmiersprache ändern, kann jede App oder Website anfällig sein, solange sie einem Benutzer die Eingabe von Daten ermöglicht. Code-Injection-Angriffe wurden für SQL, HTML, XML, CSS und jede andere gängige Programmiersprache ausgelöst.
Zunächst muss ein Angreifer anfälligen Code in einer Anwendung finden, normalerweise an einem Punkt, an dem Benutzer ihre eigenen Eingaben eingeben dürfen. Dieser Code verwendet beispielsweise die PHP-Funktion eval () und übergibt sie an einen Benutzer zur Änderung, ohne dass die Rückgabezeichenfolge überprüft wird.
$myvar = „Variablenname“;
$x = $_GET [Argument];
eval („\ $myvar =\ $x;“);
Ein cleverer Angreifer könnte der eval-Funktion leicht eine eigene Zeichenfolge hinzufügen und sogar Systembefehle ausführen, wenn er dies wünscht.
/index.php? Argument = 1; System (ID)
Es ist wichtig zu beachten, dass Code-Injection-Angriffe zwar das Senden von Systembefehlen beinhalten können, aber nicht darauf beschränkt sind, nur das zu tun. Tatsächlich sind Hacker bei Code-Injection-Angriffen nur durch die Funktionalität der Sprache selbst eingeschränkt. In unserem Beispiel könnte ein Angreifer das Zielsystem so programmieren, dass es fast alles tut, was das PHP-Framework zulässt.
Warum sind Code-Injection-Angriffe so gefährlich?
Code-Injection-Angriffe sind je nach Können des Angreifers potenziell extrem gefährlich. Sie können alles tun, was die Programmiersprache zulässt, was sie mit den Programmierern der App gleichstellt. Ein Angreifer könnte quasi seine eigene App schreiben und sie in der Zielumgebung ausführen lassen.
Selbst weniger geschickte Angreifer können gefährlich sein. Anstatt ihre eigene Anwendung oder Codezeichenfolgen zu schreiben, können sie das Zielsystem einfach anweisen, vorprogrammierte Malware zu akzeptieren und zu installieren. Dies könnte zur Verunstaltung der Website oder zu Ransomware-Angriffen führen oder sogar zur Grundlage für eine Phishing-Kampagne gegen die Nutzer der Website werden.
In den meisten Fällen werden Code-Injection-Angriffe verwendet, um Dinge wie Benutzerlisten und Passwörter zu stehlen oder wertvolle Erkenntnisse über ein System zu gewinnen, das weiteren Angriffen ausgesetzt ist. Aber seien Sie gewarnt, ein erfahrener Programmierer kann mit einem Code-Injection-Angriff fast alles machen. Deshalb ist es wichtig, dass jede potenzielle Instanz dieser Angriffe entdeckt und aus Ihrer Umgebung entfernt wird.
Vertraue niemandem! (Oder zumindest keine Benutzer)
Bei der Beseitigung von Sicherheitslücken bei Code-Injection-Angriffen sollten Sie zuerst nach einer Stelle suchen, die Benutzereingaben verlangt oder zulässt. Alles, was ein Benutzer eingibt, darf unter keinen Umständen als vertrauenswürdig eingestuft werden. Wenn Sie Benutzereingaben ohne Filterung oder Prüfung zulassen, laden Sie Angreifer im Grunde dazu ein, eine freie Chance zu haben, Ihr System oder sogar Ihr Netzwerk zu gefährden.
Obwohl dies nicht immer möglich ist, lassen sich Code-Injection-Angriffe am besten verhindern, indem Sie verhindern, dass Funktionen Benutzereingaben direkt ausführen oder interpretieren. Vielleicht können Benutzer zwischen statischen Optionen wählen, anstatt die Freiheit zu haben, ihre eigenen Abfragen einzugeben, wobei die Anwendung so programmiert ist, dass sie nur diese begrenzten Auswahlmöglichkeiten als gültig akzeptiert. Vielleicht ist das nicht immer angemessen, aber wenn Sie es, wo immer möglich, verwenden, können Codeinjektionen vermieden werden, bevor sie beginnen.
In Bereichen, in denen Benutzer ihre eigenen Eingaben eingeben müssen, müssen diese Daten streng kontrolliert werden. Angenommen, alles ist ein potenzieller Angriff, ist ein guter Anfang. Durch die Durchsetzung von Richtlinien mit den geringsten Rechten, wie z. B. schreibgeschütztem Benutzerzugriff, sowohl auf Client- als auch auf Serverseite, kann die Ausführung des größten Teils des Codes verhindert werden.
Die andere gute Verteidigung besteht darin, anwendungsweite Filter und Desinfizierungen für alles zu implementieren, was Benutzer eingeben. Entwickler sind sich seit Jahren der Code-Injection-Angriffe bewusst, und für jedes Framework und jede Sprache gibt es Bibliotheken mit bewährten Filtern. Achten Sie beim Anwenden dieser Filter darauf, dass Sie dies nicht nur an den offensichtlichen Benutzereingabebereichen oder an allgemeinen Parametern wie Get- und Post-Befehlen tun, sondern auch an Cookies und HTTP-Headern.
Anwenden einer Korrektur für die Codeinjektion
Wenn Sie unnötige Benutzereingabebereiche aus Ihrer Umgebung entfernen, die Prinzipien der geringsten Zugriffsrechte durchsetzen und die neuesten Filter- und Sanitisierungstools verwenden, um potenzielle Angriffe zu untersuchen und zu erkennen, können Sie diese gefährliche Sicherheitslücke schließen. Die Einstellung, Benutzereingaben niemals zu vertrauen, wird Ihnen auch in Zukunft gute Dienste leisten. Wenn Sie all das tun, sind Sie dieser gefährlichen Art von Angriffen immer einen Schritt voraus.
Für weitere Informationen können Sie sich die OWASP ansehen schreiben Sie auf Code-Injektion. Sie können Ihr neu gewonnenes Verteidigungswissen auch mit dem auf die Probe stellen kostenlose Demo der Secure Code Warrior-Plattform, die Cybersicherheitsteams zu ultimativen Cyberkriegern ausbildet. Um mehr über die Beseitigung dieser Sicherheitslücke und eine Galerie mit anderen Bedrohungen zu erfahren, besuchen Sie die Blog von Secure Code Warrior.
Gesichtscode-Injektion direkt, sofort. Nehmen Sie die Herausforderung auf unserer gamifizierten Trainingsplattform an: [Fangen Sie hier an]

Haga clic en el enlace de abajo y descargue el PDF de este recurso.
Secure Code Warrior a disposición de su empresa para ayudarle a proteger el código durante todo el ciclo de desarrollo de software y crear una cultura en la que la ciberseguridad sea una prioridad. Tanto si es responsable de seguridad de aplicaciones, desarrollador, responsable de seguridad de la información o cualquier otra persona relacionada con la seguridad, podemos ayudar a su empresa a reducir los riesgos asociados al código inseguro.
Ver informeReservar una demostraciónJaap Karan Singh ist Secure Coding Evangelist, Chief Singh und Mitbegründer von Secure Code Warrior.
Code-Injection-Angriffe gehören zu den häufigsten und auch gefährlichsten Angriffen, denen viele Websites und Anwendungen ausgesetzt sind. Sie decken das gesamte Spektrum ab, sowohl in Bezug auf ihre Raffinesse als auch in Bezug auf die von ihnen ausgehende Gefahr, aber fast jede Website oder App, die Benutzereingaben akzeptiert, könnte anfällig sein. Tatsächlich ist diese Art von Angriff eine, mit der sich fast jeder Cybersicherheitsverteidiger irgendwann in seiner Karriere auseinandersetzen muss, und er wird sich wahrscheinlich mehrmals damit auseinandersetzen.
Ein Code-Injection-Angriff kann immer dann auftreten, wenn eine Anwendung oder Website Eingaben von Benutzern akzeptiert. Dies kann so einfach sein wie die Bereitstellung einer Suchfunktion oder die Aufforderung eines Benutzers, seine Identifikationsinformationen einzugeben. Der Angriff erfolgt, wenn ein böswilliger Benutzer anstelle der normalen Texteingabe Code in das offene Feld eingibt. Ihr Ziel ist es, den Server dazu zu bringen, die Eingabe mit gültigem Code zu verwechseln und dann alle vom Angreifer gewünschten Funktionen auszuführen.
Code-Injection-Angriffe sind zwar extrem häufig, aber auch die verfügbaren Abwehrmaßnahmen, mit denen sie gestoppt werden können. In dieser Episode werden wir lernen:
- So funktionieren sie
- Warum sie so gefährlich sind
- Wie Sie Abwehrmechanismen einrichten können, um sie zu stoppen.
Wie verwenden Angreifer Code Injection?
Obwohl sich die spezifischen Details zu Code-Injection-Angriffen je nach verwendeter Programmiersprache ändern, kann jede App oder Website anfällig sein, solange sie einem Benutzer die Eingabe von Daten ermöglicht. Code-Injection-Angriffe wurden für SQL, HTML, XML, CSS und jede andere gängige Programmiersprache ausgelöst.
Zunächst muss ein Angreifer anfälligen Code in einer Anwendung finden, normalerweise an einem Punkt, an dem Benutzer ihre eigenen Eingaben eingeben dürfen. Dieser Code verwendet beispielsweise die PHP-Funktion eval () und übergibt sie an einen Benutzer zur Änderung, ohne dass die Rückgabezeichenfolge überprüft wird.
$myvar = „Variablenname“;
$x = $_GET [Argument];
eval („\ $myvar =\ $x;“);
Ein cleverer Angreifer könnte der eval-Funktion leicht eine eigene Zeichenfolge hinzufügen und sogar Systembefehle ausführen, wenn er dies wünscht.
/index.php? Argument = 1; System (ID)
Es ist wichtig zu beachten, dass Code-Injection-Angriffe zwar das Senden von Systembefehlen beinhalten können, aber nicht darauf beschränkt sind, nur das zu tun. Tatsächlich sind Hacker bei Code-Injection-Angriffen nur durch die Funktionalität der Sprache selbst eingeschränkt. In unserem Beispiel könnte ein Angreifer das Zielsystem so programmieren, dass es fast alles tut, was das PHP-Framework zulässt.
Warum sind Code-Injection-Angriffe so gefährlich?
Code-Injection-Angriffe sind je nach Können des Angreifers potenziell extrem gefährlich. Sie können alles tun, was die Programmiersprache zulässt, was sie mit den Programmierern der App gleichstellt. Ein Angreifer könnte quasi seine eigene App schreiben und sie in der Zielumgebung ausführen lassen.
Selbst weniger geschickte Angreifer können gefährlich sein. Anstatt ihre eigene Anwendung oder Codezeichenfolgen zu schreiben, können sie das Zielsystem einfach anweisen, vorprogrammierte Malware zu akzeptieren und zu installieren. Dies könnte zur Verunstaltung der Website oder zu Ransomware-Angriffen führen oder sogar zur Grundlage für eine Phishing-Kampagne gegen die Nutzer der Website werden.
In den meisten Fällen werden Code-Injection-Angriffe verwendet, um Dinge wie Benutzerlisten und Passwörter zu stehlen oder wertvolle Erkenntnisse über ein System zu gewinnen, das weiteren Angriffen ausgesetzt ist. Aber seien Sie gewarnt, ein erfahrener Programmierer kann mit einem Code-Injection-Angriff fast alles machen. Deshalb ist es wichtig, dass jede potenzielle Instanz dieser Angriffe entdeckt und aus Ihrer Umgebung entfernt wird.
Vertraue niemandem! (Oder zumindest keine Benutzer)
Bei der Beseitigung von Sicherheitslücken bei Code-Injection-Angriffen sollten Sie zuerst nach einer Stelle suchen, die Benutzereingaben verlangt oder zulässt. Alles, was ein Benutzer eingibt, darf unter keinen Umständen als vertrauenswürdig eingestuft werden. Wenn Sie Benutzereingaben ohne Filterung oder Prüfung zulassen, laden Sie Angreifer im Grunde dazu ein, eine freie Chance zu haben, Ihr System oder sogar Ihr Netzwerk zu gefährden.
Obwohl dies nicht immer möglich ist, lassen sich Code-Injection-Angriffe am besten verhindern, indem Sie verhindern, dass Funktionen Benutzereingaben direkt ausführen oder interpretieren. Vielleicht können Benutzer zwischen statischen Optionen wählen, anstatt die Freiheit zu haben, ihre eigenen Abfragen einzugeben, wobei die Anwendung so programmiert ist, dass sie nur diese begrenzten Auswahlmöglichkeiten als gültig akzeptiert. Vielleicht ist das nicht immer angemessen, aber wenn Sie es, wo immer möglich, verwenden, können Codeinjektionen vermieden werden, bevor sie beginnen.
In Bereichen, in denen Benutzer ihre eigenen Eingaben eingeben müssen, müssen diese Daten streng kontrolliert werden. Angenommen, alles ist ein potenzieller Angriff, ist ein guter Anfang. Durch die Durchsetzung von Richtlinien mit den geringsten Rechten, wie z. B. schreibgeschütztem Benutzerzugriff, sowohl auf Client- als auch auf Serverseite, kann die Ausführung des größten Teils des Codes verhindert werden.
Die andere gute Verteidigung besteht darin, anwendungsweite Filter und Desinfizierungen für alles zu implementieren, was Benutzer eingeben. Entwickler sind sich seit Jahren der Code-Injection-Angriffe bewusst, und für jedes Framework und jede Sprache gibt es Bibliotheken mit bewährten Filtern. Achten Sie beim Anwenden dieser Filter darauf, dass Sie dies nicht nur an den offensichtlichen Benutzereingabebereichen oder an allgemeinen Parametern wie Get- und Post-Befehlen tun, sondern auch an Cookies und HTTP-Headern.
Anwenden einer Korrektur für die Codeinjektion
Wenn Sie unnötige Benutzereingabebereiche aus Ihrer Umgebung entfernen, die Prinzipien der geringsten Zugriffsrechte durchsetzen und die neuesten Filter- und Sanitisierungstools verwenden, um potenzielle Angriffe zu untersuchen und zu erkennen, können Sie diese gefährliche Sicherheitslücke schließen. Die Einstellung, Benutzereingaben niemals zu vertrauen, wird Ihnen auch in Zukunft gute Dienste leisten. Wenn Sie all das tun, sind Sie dieser gefährlichen Art von Angriffen immer einen Schritt voraus.
Für weitere Informationen können Sie sich die OWASP ansehen schreiben Sie auf Code-Injektion. Sie können Ihr neu gewonnenes Verteidigungswissen auch mit dem auf die Probe stellen kostenlose Demo der Secure Code Warrior-Plattform, die Cybersicherheitsteams zu ultimativen Cyberkriegern ausbildet. Um mehr über die Beseitigung dieser Sicherheitslücke und eine Galerie mit anderen Bedrohungen zu erfahren, besuchen Sie die Blog von Secure Code Warrior.
Gesichtscode-Injektion direkt, sofort. Nehmen Sie die Herausforderung auf unserer gamifizierten Trainingsplattform an: [Fangen Sie hier an]
Índice
Jaap Karan Singh ist Secure Coding Evangelist, Chief Singh und Mitbegründer von Secure Code Warrior.

Secure Code Warrior a disposición de su empresa para ayudarle a proteger el código durante todo el ciclo de desarrollo de software y crear una cultura en la que la ciberseguridad sea una prioridad. Tanto si es responsable de seguridad de aplicaciones, desarrollador, responsable de seguridad de la información o cualquier otra persona relacionada con la seguridad, podemos ayudar a su empresa a reducir los riesgos asociados al código inseguro.
Reservar una demostraciónDescargarRecursos para empezar
Temas y contenidos de la formación Securecode
Nuestros contenidos líderes en el sector se desarrollan continuamente para adaptarse al cambiante panorama del desarrollo de software, teniendo en cuenta su función. Temas que abarcan desde la inteligencia artificial hasta la inyección XQuery y que se ofrecen para una amplia variedad de funciones, desde arquitectos e ingenieros hasta gestores de productos y control de calidad. Eche un vistazo a nuestro catálogo de contenidos por temas y funciones.
La Cámara de Comercio establece el estándar para la seguridad impulsada por desarrolladores a gran escala
Kamer van Koophandel comparte cómo ha integrado la codificación segura en el desarrollo diario mediante certificaciones basadas en roles, evaluaciones comparativas de Trust Score y una cultura de responsabilidad compartida en materia de seguridad.
Modelado de amenazas con IA: convertir a cada desarrollador en un modelador de amenazas
Saldrá mejor equipado para ayudar a los desarrolladores a combinar ideas y técnicas de modelado de amenazas con las herramientas de IA que ya utilizan para reforzar la seguridad, mejorar la colaboración y crear software más resistente desde el principio.
Recursos para empezar
Cybermon ha vuelto: ¡Derrota al jefe! Las misiones KI ya están disponibles bajo demanda.
Cybermon 2025 Beat the Boss ya está disponible durante todo el año en SCW. Utiliza requisitos de seguridad avanzados de IA/LLM para reforzar el desarrollo seguro de la IA a gran escala.
Explicación de la Ley de Resiliencia Cibernética: qué significa para el desarrollo de software Secure by Design
Descubra qué exige la Ley de Ciberresiliencia de la UE (CRA), a quién se aplica y cómo los equipos de desarrollo pueden prepararse para ella mediante métodos seguros, la prevención de vulnerabilidades de seguridad y el desarrollo de capacidades para los desarrolladores.
Facilitador 1: Criterios de éxito definidos y medibles
El facilitador 1 abre nuestra serie de diez partes titulada «Facilitadores del éxito» y muestra cómo la codificación segura puede combinarse con resultados empresariales como la reducción de riesgos y la velocidad para lograr la madurez del programa a largo plazo.




%20(1).avif)
.avif)
