Insbesondere Anbieter von Shops können Opfer einer SQL-Injection-Attacke werden. Sie nutzt mangelnde Sorgfalt beim Wandel eines HTTP-Request in ein SQL-Statement. Löst beispielsweise der Request http://myshop.example.com/showproducts?Warengruppe=1 das SQL-Statement SELECT * from Products Where Warengruppe = 1 aus, so lässt sich das programmiertechnisch dadurch lösen, dass man die „1“ aus dem HTTP-Request nimmt und einfach an den Textstring „SELECT * from Products Where Warengruppe =“ anhängt.

Auf diese Weise kann ein Angreifer jedoch beliebige SQL-Statements ausführen, wenn er beispielsweise den HTTP-Request http://myshop.example.com/showproducts?Warengruppe=1;UPDATE … verwendet. So kann er beliebige Felder in der Datenbank mit eigenen Werten belegen.

Es bietet sich für den Angreifer an, die Produktbeschreibung oder den Produktnamen zu verändern. Aus „Dampfbügeleisen“ macht der Angreifer einfach „<script>[Bösartiger Code]</script>Dampfbügeleisen“. Der Betrachter sieht nach wie vor den gleichen Text. Doch währenddessen wird der eingeschleuste Javascript-Code bereits ausgeführt.

Grundsätzlich gilt, dass der Programmierer der Webanwendung den HTTP-Request so zu untersuchen hat, dass eine Ausführung ungewollter SQL-Befehle nicht möglich ist. Dazu bieten die gängigen Skript-Sprachen, beispielsweise Perl und PHP, mittlerweile umfangreiche Hilfestellungen in Form von Parsern. Auch die Datenbankhersteller leisten ihren Beitrag zur Sicherheit mit Prepared Statements.

Doch in der Praxis sieht es anders aus. Das Sicherheitsunternehmen ScanSafe stellte im Mai 2008 fest, dass die Anzahl der durch SQL-Injection-Attacken verseuchten legitimen Websites im Vergleich zum Vorjahr um 407 Prozent gestiegen war.

Viele kleinere Shoplösungen sind nach wie vor anfällig für SQL-Injection-Attacken. Die in die Server eingeschleuste Malware ist vielfältig. Den Löwenanteil bildet Malware, die darauf ausgerichtet ist, Besuchern einer Website andere Malware auf den eigenen Rechner zu schleusen, meist klassisch über eine versteckte Umleitung zu Malware-Servern, von denen ein Drive-by-Download gestartet wird.

Eine andere Art von Malware versucht sich auf dem Server einzunisten und dort persönliche Daten der Benutzer zu stehlen. Dies kann dadurch geschehen, dass ein Shell-Statement des jeweiligen Datenbankservers ausgeführt wird. Dann kann der Angreifer beliebigen Code unter dem Sicherheitskontext des Datenbankservers ausführen.

Neben Zahlungsdaten, zum Beispiel Kreditkartennummern, sind vor allem Passwörter von Interesse. Auch kleinere Shop-Lösungen erlauben es den Benutzern meist, eine User-ID anzulegen, um nicht bei jedem Besuch Daten wie Liefer- und Rechnungsanschrift neu eingeben zu müssen.

Da die Anwender meist das gleiche Passwort für mehrere Online-Angebote verwenden, sind Passwörter bei Web-Shops eine wertvolle Beute von Cyberkriminellen. Zu User-ID und Passwort bekommt der Angreifer Namen und Adresse gleich dazu. Oft müssen Benutzer als User-ID eine gültige E-Mail-Adresse verwenden. Der Versuch sich mit diesen Daten in Bezahlsystemen einzuloggen, zum Beispiel PayPal, führt nicht selten zum Erfolg.

Unternehmen, die ihre Produkte im Internet anbieten möchten, schützen sich am besten, indem sie einen vorkonfektionierten Shop bei einem großen Hoster anmieten. Ein großer Hoster ist natürlich ein lohnendes Ziel für einen Angreifer. Findet ein Angreifer die Möglichkeit einer SQL-Injection-Attacke, so kann er auf die gleiche Weise viele tausend andere Shops verseuchen.

Dieser Problematik ist sich ein großer Hoster allerdings bewusst und kann aufgrud der Menge an Shops, die er betreibt, Sicherheitsmaßnahmen treffen, die es nahezu unmöglich machen, dass ein SQL-Injection-Angriff zum Erfolg führen kann. Im unwahrscheinlichen Fall einer Verseuchung mit Malware kann sich ein großer Hoster schneller um die Beseitigung eines Problems kümmern.

Käufer bei kleineren Internet-Händlern sollten es vermeiden, ein Benutzerkonto anzulegen. In diesem Fall ist dort auch kein Passwort gespeichert, das in die Hände von Kriminellen gelangen und auf anderen Websites ausprobiert werden kann. Die sichersten Zahlungsmittel sind Vorkasse und Nachnahme. Sie setzen natürlich einen Vertrauensvorschuss an den Internethändler voraus, haben aber den großen Vorteil, dass keine Finanzdaten auf dem Server gespeichert werden, die die Cyberkriminellen abgreifen können.

Page: 1 2 3 4 5

ZDNet.de Redaktion

Recent Posts

Lags beim Online-Gaming? DSL-Vergleich und andere Tipps schaffen Abhilfe

Beim Online-Gaming kommt es nicht nur auf das eigene Können an. Auch die technischen Voraussetzungen…

3 Tagen ago

GenKI-Fortbildung immer noch Mangelware

Fast jedes zweite Unternehmen bietet keinerlei Schulungen an. In den übrigen Betrieben profitieren oft nur…

3 Tagen ago

Netzwerk-Portfolio für das KI-Zeitalter

Huawei stellt auf der Connect Europe 2024 in Paris mit Xinghe Intelligent Network eine erweiterte…

4 Tagen ago

Internet-Tempo in Deutschland: Viel Luft nach oben

Höchste Zeit für eine schnelle Kupfer-Glas-Migration. Bis 2030 soll in Deutschland Glasfaser flächendeckend ausgerollt sein.

4 Tagen ago

Erste Entwickler-Preview von Android 16 verfügbar

Schon im April 2025 soll Android 16 den Status Plattformstabilität erreichen. Entwicklern gibt Google danach…

4 Tagen ago

Kaspersky warnt vor Cyberangriff auf PyPI-Lieferkette

Die Hintermänner setzen KI-Chatbot-Tools als Köder ein. Opfer fangen sich den Infostealer JarkaStealer ein.

4 Tagen ago