Linux Anwenden
Linux Desktop
Linux Server
Linux Schulungen
OpenOffice Überblick
OpenOffice Writer
OpenOffice Calc
OpenOffice Impress
OpenOffice Base
Desktop Workshop
Linux Einsteiger
Linux Installieren
Linux Administrieren
Samba Fileserver
Apache Webserver
Server Security
Perl Grundlagen
Perl Vertiefung
Perl und Datenbanken
Perl und CGI
Reguläre Ausdrücke
Linux Consulting
Referenzen
Impressum
Datenschutz
|
SQL InjectionWas ist eigentlich eine SQL Injection?SQL Injection bezeichnet das Einschleusen von eigenen SQL-Befehlen durch Ausnutzen einer Sicherheitslücke der SQL Datenbank. Dies ist möglich, wenn die Eingaben des Benutzers von der Webapplikation nicht vollständig und teilweise fehlerhaft überprüft werden. Dem Angreifer wird durch die Eingabe eigener Parameter, Befehle und Variablenwerte ermöglicht auf Inhalte der Datenbank und sogar auf das System zuzugreifen. Der Angreifer ist nun in der Lage durch entsprechende INSERT beziehungsweise UPDATE Anfragen die Daten zu manipulieren. Der Angreifer kann auch Dateien ausführen, die ihm den Remotezugriff auf das gesamte System ermöglichen. Auch die Manipulation des Administrationskennung Root und des dazugehörigen Passworts ist möglich. Dies sind nur einige bekannte Beispiele wie ein Angreifer durch SQL Injection wichtige Datenbanken manipulieren, verfälschen, zerstören oder ausspähen kann. Sicherheitsvorkehrungen zur Verhinderung einer SQL InjectionEine der wichtigsten Abwehrmaßnahmen gegen SQL Injection ist die Validierung der Eingaben. Eine Webapplikation muss fähig sein unterscheiden zu können, ob die übergebenen Parameter und Befehle “good” oder “evil” sind. Eine sehr gute Möglichkeit dies zu überprüfen ist sich der Mächtigkeit von Regular Expressions zu bedienen. Sie erlauben eine saubere Validierung, die mit normalen Stringfunktionen nur sehr schwer umzusetzen sind. Für Webentwickler, Administratoren und Webmasteer bieten wir übrigens ein Intensiv-Seminar für die Filterung und Aufbereitung von Informationen mit Regular Expressions an. Die Verwendung von Stored Procedures ist ebenfalls zu empfehlen. Sie werden direkt am Datenbankserver programmiert, und sollten dort mit entsprechend gut überlegten Ausführungsberechtigungen versehen werden. Einige Tipps und Hintergrundinformationen von Oracle zum Thema SQL Injection: http://www.oracle.com/global/de/community/tipps/sqlinjection/index.html © 2003 - 2015 Codecasters GmbH - Linux Support Rosenheim - Tel. 08031 / 79 68 739
|