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

Cyberabwehr: Mindestens zwei kritische Vorfälle pro Tag

Davon entfällt ein Viertel auf staatliche Einrichtungen und 12 Prozent auf Industrieunternehmen.

5 Tagen ago

Tunnelvision: Exploit umgeht VPN-Verschlüsselung

Forscher umgehen die Verschlüsselung und erhalten Zugriff auf VPN-Datenverkehr im Klartext. Für ihren Angriff benötigen…

5 Tagen ago

Online-Banking: 42 Prozent kehren Filialen den Rücken

Weitere 40 Prozent der Deutschen erledigen ihre Geldgeschäfte überwiegend online und gehen nur noch selten…

5 Tagen ago

Google veröffentlicht neues Sicherheitsupdate für Chrome

Zwei Schwachstellen in Chrome gehören nun der Vergangenheit an. Von ihnen geht ein hohes Risiko…

5 Tagen ago

Digitale Souveränität: ein essenzieller Erfolgsfaktor für Unternehmen

Mit der zunehmenden computerbasierten und globalen Vernetzung gewinnt die digitale Souveränität an rasanter Bedeutung. Viele…

5 Tagen ago

Google schließt kritische Sicherheitslücke in Android 14

Weitere schwerwiegende Fehler stecken in Android 12 und 13. Insgesamt bringt der Mai-Patchday 29 Fixes.

6 Tagen ago