43192852579
academy
Sicherheit
Privatsphäre
Leistung
Deutsch
Avast Academy Sicherheit Hacking Was ist SQL-Injection und wie läuft sie ab?

Was ist SQL-Injection und
wie läuft sie ab?

Die SQL-Injection ist eine verdeckte Art von Cyberangriff, bei dem Hacker ihren eigenen Code in eine Website einfügen, um Sicherheitsmaßnahmen zu umgehen und auf geschützte Daten zuzugreifen. Haben sie einmal Zugriff erlangt, können sie die Website-Datenbank steuern und Benutzerinformationen entwenden. Erfahren Sie, wie SQL-Injection-Angriffe ablaufen, wie Sie sich dagegen wehren und wie ein robustes Antivirenprogramm wie Avast One Sie vor Cyberangriffen bewahren kann.

PC-editors-choice-icon
2023
Editors' choice
AV-Test-Top-product-icon
2022
Top Rated
Product
PC-Welt-A1-01-2022_header
2022
Testsieger
SQL_injection-Hero
Verfasst von Ivan Belcic
Veröffentlicht am September 22, 2020

Was ist SQL-Injection? Und was ist SQL?

Bevor wir über die Injection reden, sehen wir uns erst einmal an, was SQL eigentlich ist. Es wurde in den 1970er Jahren entwickelt, steht für „Structured Query Language“ (Strukturierte Abfragesprache) und ist zur Standardsprache für das Datenbankmanagement geworden. Wenn eine Website auf die Datenbank auf ihrem Server zugreift, um Informationen zu finden oder zu bearbeiten, wird SQL zum Verarbeiten dieser „Abfrage“ oder Anforderung eingesetzt.

Hamburguer menu icon

Dieser Artikel enthält:

    SQL ist eine vielseitige und flexible Sprache, die Datenbankdesignern viele Möglichkeiten bietet. Die meisten Designer legen Datenbanken mit eigenen SQL-Regeln an, die ihren speziellen Anforderungen am besten entsprechen. Der SQL-Code einer Datenbank lässt sich nicht einfach in eine andere kopieren und einfügen, da diese Datenbanken wahrscheinlich auf zwei völlig unterschiedliche Arten erstellt wurden.

    Und was hat es jetzt mit der SQL-Injection auf sich?

    Wenn Website-Entwickler nicht vorsichtig genug vorgehen, können vorsätzlich böswillig handelnde Personen diese Schwachstelle ausnutzen und unbeabsichtigte Folgen in der Datenbank verursachen. Und so laufen SQL-Injections (auch „SQLI“ genannt) ab: Ein Hacker fügt schädlichen SQL-Code – eine Art von Malware, die als Nutzdaten bezeichnet wird – in eine Website ein (bzw. injiziert ihn in diese), damit die Website diesen Code als legitime Abfrage an ihre Datenbank weitergibt.

    Hacker nutzen SQL-Injection-Angriffe, um in eine Website-Datenbank einzudringen. Möglicherweise wollen sie einfach nur Chaos durch das Löschen von Daten verursachen, oder aber sie versuchen, die Datenbank zu bearbeiten, was insbesondere bei finanziellen Websites der Fall sein kann.

    Ein SQL-Injection-Angriff ist nur möglich, wenn eine Website keine ausreichende Eingabebereinigung aufweist. Mit dieser kann vermieden werden, dass Endbenutzer-Eingaben als ausführbarer Code auf den Server gelangen und dort Schäden verursachen. Beim Entwickeln bedeutet das zwar mehr Aufwand, schützt aber letztendlich vor SQL-Injection, Cross-Site-Scripting und anderen Arten von Website-Angriffen.

    Was passiert bei SQL-Injection-Angriffen?

    Hacker nutzen SQL-Injection-Angriffe, um in eine Website-Datenbank einzudringen. Möglicherweise wollen sie einfach nur Chaos durch das Löschen von Daten verursachen, oder aber sie versuchen, die Datenbank zu bearbeiten, was insbesondere bei finanziellen Websites der Fall sein kann. Sobald Hacker einmal die Kontrolle über die Datenbank erlangt haben, können sie sich auf den Bankkonten der Kunden zu schaffen machen und Geld auf ihr eigenes Konto umleiten.

    Aber oft suchen die Hacker nach gespeicherten Benutzerdaten der Website, wie z. B. nach den Anmeldedaten. Sie können diese Daten dann verwenden, um Aktionen im Namen der betroffenen Benutzer durchzuführen oder die gestohlenen Anmeldedaten in einer größeren Liste zusammenzutragen, die sie dann an andere Cyberkriminelle im Darknet verkaufen. Diese wiederum nutzen die gestohlenen Daten häufig für Identitätsdiebstahl und betrügerische Handlungen.

    Wie läuft ein SQL-Injection-Angriff ab?

    Wenn die Eingabedaten auf einer Website nicht vollständig bereinigt werden, kann ein Hacker seinen eigenen SQL-Code injizieren. Dann übergibt die Website den Code des Hackers – die Nutzdaten – an ihren Server. Sobald die Nutzdaten die Website-Datenbank erreicht haben, werden sie aktiv und beeinflussen die Datenbank so, dass die Ziele des Hackers verfolgt werden.

    Hacker nutzen SQL-Injection-Angriffe, um in eine Website-Datenbank einzudringen.Hacker nutzen SQL-Injection-Angriffe, um in eine Website-Datenbank einzudringen.

    So geht SQL-Injection – nicht zur Nachahmung empfohlen!

    SQL-Injection per Benutzereingabe

    Die SQL-Injection per Benutzereingabe ist die einfachste Form der SQL-Injection-Angriffe. Unzählige Websites erfassen Benutzereingaben und geben sie an den Server weiter. Wenn Sie etwas online bestellt und Ihre Adresse eingetragen haben, ist das genau so ein Fall. Dasselbe gilt für Kommentarbereiche oder eine Benutzerbewertung. Ohne ausreichende Eingabebereinigung stellt ein ausfüllbares Formular oder Kommentarfeld eine offene Schwachstelle für SQL-Injection-Angriffe dar.

    Anstatt diese Formulare mit üblichen Antworten und Inhalten auszufüllen, fügen Hacker genau hier SQL-Code ein. Wenn eine Website mit unzureichender Eingabebereinigung dann den Inhalt des Formulars an ihren Server übergibt, wird der Code des Hackers ausgeführt. Auf diese Weise können Hacker Benutzerdaten stehlen oder den Betrieb einer Website stören.

    Sehen wir uns zur Veranschaulichung ein Beispiel aus dem wahren Leben an, in dem sich eine Person um eine Stelle bewirbt. Der Name des Bewerbers ist Bob Alice, aber in seiner Bewerbung schreibt er „Bob Alice einstellen“. Wenn der oder die Personalverantwortliche den Namen des Bewerbers dann laut vorliest, hört das Personalbüro „Bob Alice einstellen“ und sendet Bob ein offizielles Stellenangebot.

    Bob hat also nicht seinen echten Namen angegeben, sondern SQL-Nutzdaten, die bei Ausführung durch die Datenbank – hier der oder die Personalverantwortliche – dazu führen, dass Bob den Job bekommt.

    SQL-Injection durch Cookie-Veränderung

    Cookies sind kleine Dateien in Ihrem Browser, die Websites Informationen über Sie liefern. Manchmal sind sie hilfreich, wenn sie sich z. B. an Anmeldedaten und Einstellungen „erinnern“. Manchmal sind sie aber auch unheimlich: Viele Websites verwenden Cookies, um Ihr Verhalten im gesamten Internet sowie auf den eigenen Seiten zu verfolgen. Sie nutzen die durch Tracking gewonnenen Erkenntnisse für Marktforschung und Werbezwecke. Diese zweite Art von Cookies sind ein gängiges Web-Tracking-Tool.

    Cyberkriminelle können Cookies so manipulieren oder „vergiften“, dass sie Code an den Server und damit an die Website-Datenbank übergeben.

    SQL-Injection über Servervariablen

    Wenn Sie die URL einer Website in Ihren Browser eingeben, kommt es zu einer schnellen Kommunikationsabfolge, an deren Ende das Aufrufen der Website steht. Bei diesem Prozess fordert der Browser eine Liste von Informationen an, die auch als „Servervariablen“ bezeichnet werden, damit die Website ordnungsgemäß dargestellt werden kann.

    Schlaue Hacker können SQL-Code in die Browseranforderungen einfügen, der dann (bei unzureichender Bereinigung) in die Website-Datenbank auf dem Server „injiziert“ wird.

    SQL-Injection mit automatisierten Hacking-Tools

    Wenn all dies zu noch kompliziert klingt, haben wir noch eine leichtere Variante. Automatisierte SQL-Injection-Tools wie SQLMAP erkennen und nutzen alle Schwachstellen für eine SQL-Injection einer bestimmten Website und ihrer Datenbank aus.

    sqlmap ist ein Open-Source-Tool, das Datenbankmanager und Website-Entwickler gerne einsetzen, um zu prüfen, ob ihre Websites vor SQL-Injections geschützt sind. Aber das hindert Cyberkriminelle nicht daran, dieses Tool für böswillige Zwecke zu nutzen.

    SQLI-Angriffe zweiter Ordnung

    Bei SQL-Injection-Angriffen zweiter Ordnung kommt eine noch raffiniertere Angriffsmethode zum Einsatz. Da viele Websites Bereinigungsvorgänge für direkte Benutzereingaben durchführen, injizieren Hacker SQL-Code, der erst bei nachfolgenden Besuchen ausgeführt wird. Denn wenn Gegenmaßnahmen in Form einer Eingabebereinigung vorhanden sind, würde die Website eine normale SQLI-Attacke (auch als „Angriff erster Ordnung“ bezeichnet) ja abwehren. Aber ein SQL-Injection-Angriff zweiter Ordnung ist eine Zeitbombe. Und so läuft er ab:

    Ein Hacker injiziert Code in die Datenbank, durch den erst einmal nichts Auffälliges geschieht. Dieser Code dient aber dazu, die Funktionsweise der Datenbank so zu ändern, dass er als Datenbankeintrag interpretiert wird. Wenn dann die Datenbank den Hacker-Code in ihre eigenen Funktionen aufnimmt, wird der Angriff erst ausgelöst.

    Um dieses Konzept zu veranschaulichen, sehen wir uns einen der Klassiker der Literatur an: das Epos Odyssee von Homer. In dieser Erzählung wird der Held Odysseus von einem Zyklopen namens Polyphem gefangen genommen. Als Teil seines Fluchtplans will Odysseus Polyphem betrunken machen. Von Polyphem, der sich für den Wein bedanken möchte, nach seinem Namen gefragt, antwortete Odysseus, dass sein Name „Niemand“ sei.

    Dies ist die erste Phase eines SQLI-Angriffs zweiter Ordnung: Der listige Hacker Odysseus injiziert die scheinbar harmlosen SQL-Nutzdaten in Form von „Niemand“ in die Datenbank von Polyphem.

    Später blendet Odysseus Polyphem bis zur Erblindung. Der wütende Zyklop beschwert sich bei seinen Brüdern, dass er von „niemandem“ betrogen und geblendet wurde. Daraufhin lachen alle. Anstatt sich rächen zu können, erfährt Polyphem eine Demütigung, und Odysseus kann fliehen.

    Das ist die zweite Phase. Die SQL-Nutzdaten „Niemand“ sind an sich harmlos, aber wenn Polyphem (die Datenbank) versucht, sie zu verwenden, wird der Angriff ausgelöst.

    Da sie zunächst unerkannt bleiben, sind die SQL-Injection-Angriffe der zweiten Ordnung eine indirekte und effektive Methode für Cyberkriminelle, die Eingabebereinigung zu umgehen.

    Folgen von SQL-Injection-Angriffen

    Ein SQL-Injection-Angriff kann viele Auswirkungen haben. Ein einziger SQLI-Angriff kann verheerende Folgen für die betroffene Person oder ganze Unternehmen haben.

    Auswirkungen von SQLI auf Privatpersonen

    Eine SQLI wird Sie nicht direkt treffen, aber wenn Sie eine Website nutzen, die zur Zielscheibe eines solchen Angriffs geworden ist, können die Auswirkungen erheblich sein. Wenn Sie ein Konto auf einer betroffenen Website haben oder dort personenbezogene Daten eingeben, können die Hacker nicht nur Zugriff auf Ihre Daten erlangen.

    SQL-Injection-Angriffe können schwerwiegende Konsequenzen für Privatpersonen haben, zum Beispiel:

    • Finanzieller Schaden: Ein Hacker kann Geld von Ihrem Konto bei einer Bank oder einem anderen Finanzinstitut entwenden.

    • Identitätsdiebstahl: Wenn sie Kontrolle über eine Datenbank erlangt haben, können Hacker deren Daten erfassen und im Darknet verkaufen. Cyberkriminelle können diese Daten kaufen und sie für Identitätsdiebstahl nutzen.

    Vor solchen potenziellen Identitätsdiebstahl-Attacken können Sie sich mit Avast BreachGuard schützen. Dieses Tool prüft, ob Ihre Daten im Darknet auftauchen und warnt Sie, wenn die von Ihnen verwendeten Websites durch Hacking oder andere Angriffe kompromittiert wurden.

    Holen Sie es sich für Mac

    Holen Sie es sich für Mac

    Holen Sie es sich für Mac

    Holen Sie es sich für Mac

    Auswirkungen von SQLI auf Unternehmen

    Da Unternehmen zur direkten Zielscheibe von SQLI-Angriffen werden können, sind sie mit einer viel breiteren Palette von Bedrohungen konfrontiert. Wenn Hacker in eine Datenbank eindringen, können sie dort alles Mögliche anrichten – und sobald dies öffentlich wird, muss sich das betroffene Unternehmen auf einen erheblichen Imageschaden einstellen.

    Hier sind nur einige der Möglichkeiten, wie SQLI-Angriffe Unternehmen schaden können:

    • Sabotage: Durch Löschen der Datenbank eines Unternehmens oder Manipulieren der Website können Hacker ein Unternehmen leicht ins Chaos schicken.

    • Datendiebstahl: Viele SQLI-Angriffe zielen darauf ab, vertrauliche Daten zu entwenden – Geschäftsgeheimnisse, Insider-Informationen, geschütztes geistiges Eigentum und häufig Benutzer- oder Kundeninformationen

    • Sicherheitsverstöße: Hacker können möglicherweise mithilfe des Inhalts einer kompromittierten Datenbank auf andere Bereiche des internen Unternehmensnetzwerks zugreifen. Dadurch kann das gesamte Netzwerk kompromittiert werden.

    • Reputationsverlust: Nach einer SQLI-Attacke kann es für ein Unternehmen schwierig sein, das Vertrauen seiner Kunden und der Öffentlichkeit zurückzugewinnen.


    Potenzielle Kosten von SQLI-Angriffen

    Angesichts der Tatsache, was Hacker durch eine SQLI alles verursachen können, können dadurch auch erhebliche Kosten entstehen. Eine Studie aus dem Jahr 2014 ergab, dass schon kleine SQL-Injection-Angriffe um die 200.000 US-Dollar kosten können – und das sind nur die ersten finanziellen Auswirkungen. 

    Im Blog Ars Technica wurde im selben Jahr berichtet, dass die US-Marine als Folge eines SQL-Injection-Angriffs über eine halbe Million US-Dollar aufwenden musste. Mehr als 70 Mitarbeiter im Auslandseinsatz erhielten aufgrund des Angriffs über mehrere Monate keine Transferunterstützung mehr.

    Neben den finanziellen Schäden eines Angriffs kann auch der Ruf eines Unternehmens langfristig irreversibel geschädigt werden.

    Wie kann ich SQL-Injection-Angriffe verhindern?

    Wenn Sie nicht gerade Webentwickler sind, haben Sie keinen Einfluss darauf. SQL-Injection-Angriffe richten sich nicht gegen einzelne Personen, sodass Sie keine Möglichkeit haben, Angriffe zu erkennen oder zu blockieren. Und Sie wissen erst, ob Sie eine kompromittierte Website verwendet haben, wenn die Auswirkungen sichtbar werden.

    Zur Verhinderung von SQL-Injection-Angriffen sind diejenigen verantwortlich, die die von Ihnen genutzten Websites pflegen und verwalten. Aber Sie sind auch nicht komplett machtlos, wenn es darum geht, sich vor SQLI zu schützen. Wechseln Sie gleich zu unserem Avast Hack Check-Tool, um zu prüfen, ob Ihre Website-Anmeldeinformationen gehackt wurden. Wenn ja, ändern Sie sofort Ihr Passwort auf dieser Website.

    Mit dem Avast Hack Check-Tool können Sie prüfen, ob Ihre Website-Anmeldeinformationen gehackt wurden.Mit Avast Hack Check können Sie prüfen, ob Ihre Anmeldeinformationen gehackt wurden.

    Da viele SQL-Injection-Angriffe zum Stehlen von Benutzerdaten verwendet werden, haben Sie mit Hack Check die Möglichkeit, das Risiko in diesen Fällen zu verringern.

    Wie kann ich SQL-Injection-Angriffe am besten vermeiden?

    Sie können zwar nicht verhindern, dass SQL-Injection-Angriffe stattfinden, aber Sie können die Wahrscheinlichkeit und die Auswirkungen eines Angriffs verringern. Halten Sie sich beim Surfen im Internet am besten an folgende Handlungsempfehlungen:

    • Geben Sie keine personenbezogenen Daten auf zwielichtigen Websites ein. Sensible Daten sollten Sie nur auf vertrauenswürdigen Websites mit starken Sicherheitsmaßnahmen eingeben. Damit haben Sie zwar keine Garantie dafür, nicht Opfer eines SQL-Injection-Angriffs zu werden, aber das ist immerhin ein Anfang.

    • Bleiben Sie bei allen Neuigkeiten rund um Sicherheitsthemen auf dem Laufenden. Unternehmen geben in der Regel bekannt, wenn ihre Datenbanken von Hackern angegriffen wurden. Bleiben Sie über alle Nachrichten in Bezug auf die von Ihnen genutzten Websites informiert. Wenn Sie auf einen Bericht zu SQLI stoßen, sollten Sie Ihre Anmeldeinformationen am besten gleich ändern.

    • Legen Sie einen großen Fokus auf sichere Passwörter. Sie können das Risiko stark reduzieren, wenn Sie für jedes Konto ein eigenes Passwort verwenden. Halten Sie sich an bewährte Richtlinien für die Passworterstellung, um den Hackern immer einen Schritt voraus zu sein.

    • Verwenden Sie einen Passwort-Manager. Viele Passwort-Manager benachrichtigen Sie, wenn eine von Ihnen verwendete Website kompromittiert wurde. Ist dies der Fall, können Sie schnell ein neues, einzigartiges, schwer zu hackendes Passwort festlegen. Nutzen Sie am besten einen Manager, der plattformübergreifende Funktionen bietet, damit Sie Ihre Passwörter auf allen Geräten abrufen können.

    • Setzen Sie Antivirensoftware ein. Ein zuverlässiges Antivirenprogramm kann Ihr Gerät vor einer Vielzahl von Bedrohungen schützen, einschließlich bösartiger Websites.


    Erhalten Sie umfassende digitale Sicherheit mit Avast One

    Ihr Browser weiß nicht, ob Sie eine Website besucht haben, die von einer SQL-Injection betroffen war, aber Sie sind im kontinuierlichen Kampf gegen Cyberkriminalität nicht alleine. Holen Sie sich Verstärkung.

    Mit Avast One können Sie von Cybersicherheit in Echtzeit profitieren und sich vor unterschiedlichsten Online-Bedrohungen schützen. Es stärkt Ihr Netzwerk mit einer Firewall und überwacht Ihr Gerät auf Schwachstellen wie veraltete Software, verdächtige Apps, Phishing-Versuche und natürlich alle Spuren von Malware.

    Bringen Sie Ihre digitale Sicherheit auf ein neues Niveau mit dem Antivirus-Anbieter, dem über 400 Millionen Nutzer weltweit vertrauen.

    Mit Avast One Ihr iPhone vor Sicherheitsbedrohungen schützen

    KOSTENLOSE INSTALLATION

    Schützen Sie Ihr Android-Gerät mit Avast One vor Hacking-Cyberangriffen

    KOSTENLOSE INSTALLATION
    Hacking
    Sicherheit
    Ivan Belcic
    22-09-2020