
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 là pour aider votre entreprise à sécuriser le code tout au long du cycle de développement logiciel et à créer une culture où la cybersécurité est une priorité. Que vous soyez responsable de la sécurité des applications, développeur, responsable de la sécurité des systèmes d'information ou toute autre personne impliquée dans la sécurité, nous pouvons aider votre entreprise à réduire les risques liés à un code non sécurisé.
Réserver une démonstrationJaap 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]

Veuillez cliquer sur le lien ci-dessous et télécharger le PDF de cette ressource.
Secure Code Warrior là pour aider votre entreprise à sécuriser le code tout au long du cycle de développement logiciel et à créer une culture où la cybersécurité est une priorité. Que vous soyez responsable de la sécurité des applications, développeur, responsable de la sécurité des systèmes d'information ou toute autre personne impliquée dans la sécurité, nous pouvons aider votre entreprise à réduire les risques liés à un code non sécurisé.
Consulter le rapportRéserver une démonstrationJaap 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]
Table des matières
Jaap Karan Singh ist Secure Coding Evangelist, Chief Singh und Mitbegründer von Secure Code Warrior.

Secure Code Warrior là pour aider votre entreprise à sécuriser le code tout au long du cycle de développement logiciel et à créer une culture où la cybersécurité est une priorité. Que vous soyez responsable de la sécurité des applications, développeur, responsable de la sécurité des systèmes d'information ou toute autre personne impliquée dans la sécurité, nous pouvons aider votre entreprise à réduire les risques liés à un code non sécurisé.
Réserver une démonstrationTéléchargerRessources pour débuter
Thèmes et contenus de la formation Securecode
Nos contenus de pointe sont constamment développés afin de s'adapter à l'évolution constante du paysage du développement logiciel, en tenant compte de votre rôle. Les thèmes abordés couvrent tous les domaines, de l'IA à l'injection XQuery, et sont proposés pour une multitude de rôles, des architectes et ingénieurs aux chefs de produit et responsables assurance qualité. Nous vous invitons à découvrir un aperçu de notre catalogue de contenus classés par thème et par rôle.
La Chambre de commerce établit la norme en matière de sécurité à grande échelle axée sur les développeurs
La Chambre de commerce néerlandaise explique comment elle a intégré le codage sécurisé dans le développement quotidien grâce à des certifications basées sur les rôles, à l'évaluation comparative du Trust Score et à une culture de responsabilité partagée en matière de sécurité.
Modélisation des menaces avec l'IA : transformer chaque développeur en modélisateur de menaces
Vous repartirez mieux équipé pour aider les développeurs à combiner les idées et les techniques de modélisation des menaces avec les outils d'IA qu'ils utilisent déjà pour renforcer la sécurité, améliorer la collaboration et créer des logiciels plus résilients dès le départ.
Ressources pour débuter
Cybermon est de retour : les missions KI « Beat the Boss » sont désormais disponibles sur demande.
Cybermon 2025 Beat the Boss est désormais disponible toute l'année dans SCW. Il utilise des exigences de sécurité IA/LLM avancées pour renforcer le développement sécurisé de l'IA à grande échelle.
Explication de la loi sur la cyber-résilience : implications pour le développement de logiciels sécurisés dès la conception
Découvrez les exigences de la loi européenne sur la cyber-résilience (CRA), à qui elle s'applique et comment les équipes de développement peuvent s'y préparer en adoptant des méthodes sécurisées, en prévenant les failles de sécurité et en renforçant les compétences des développeurs.
Facteur 1 : Critères de réussite définis et mesurables
Le catalyseur n° 1 inaugure notre série en dix parties intitulée « Les catalyseurs de la réussite » et démontre comment un codage sécurisé peut être associé à des résultats commerciaux tels que la réduction des risques et la rapidité afin d'atteindre une maturité programmatique à long terme.




%20(1).avif)
.avif)
