Menü
Registrieren Anmelden
  1. Magazin
    1. Hochschulen
    2. Häufige Fragen
    3. Infomaterial zum Fernstudium
  2. Forum
    1. Dashboard
    2. Unerledigte Themen
    3. Datenbanken
    4. Semantische Suche
  3. Mediathek
  4. Umfragen
  5. Studium
    1. Welches Fernstudium?
    2. Hochschulfinder
    3. Studiengänge
    4. Hochschulen
  • Impressum
  • Mediadaten
  • Kontakt
  • Presse
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Forum
  • Artikel
  • Seiten
  • Galerie
  • Datenbank-Einträge
  • Umfragen
  • Erweiterte Suche
  • Suche
  • Anmelden
  • Registrieren
  1. Study-Board.de
  2. Forum
  3. Fachforen Wirtschaftswissenschaften
  4. Wirtschaftsinformatik
Anzeige
SGD Fernstudium – WM-Vorteile 2026

SQL-Injection verstehen – wie funktioniert der Angriff eigentlich genau?

  • AnnaWInf
  • 4. November 2026 um 14:21
  • Unerledigt
  • AnnaWInf
    WiInf
    Beiträge
    62
    • 4. November 2026 um 14:21
    • #1

    Ich sitze gerade an meiner Projektarbeit und soll relativ kompakt erklären, wie SQL-Injection technisch funktioniert und warum Prepared Statements das verhindern. Das Prinzip an sich habe ich schon verstanden: Nutzereingabe wird ungeprüft in eine Abfrage eingebaut und dadurch kann jemand zusätzliche SQL-Befehle einschleusen. Aber an einer Stelle hänge ich gedanklich fest.

    Wenn ich mir sowas wie eine Login-Abfrage vorstelle, die per String-Konkatenation zusammengebaut wird, verstehe ich, dass am Ende ein veränderter String bei der Datenbank ankommt. Aber mir ist nicht ganz klar, an welcher Stelle im Ablauf genau der Übergang passiert – also ob die Anwendung quasi "glaubt", sie schickt nur Text, und die Datenbank diesen Text dann als Befehl interpretiert, oder ob das schon vorher irgendwie unterschieden wird.

    Und bei Prepared Statements verstehe ich nicht ganz, warum die Eingabe dort nicht mehr als Code ausgeführt werden kann. Wird die Eingabe da anders übertragen oder einfach nur anders maskiert?

    Hat jemand eine anschauliche Erklärung oder vielleicht ein einfaches Beispiel, an dem man das nachvollziehen kann?

  • Anzeige
    Wilhelm Büchner HochschuleTechnik-Fernstudium, staatlich anerkannt – jetzt informieren.
    Mehr erfahren →
  • Tobi89
    WiInf · IT
    Beiträge
    59
    • 4. November 2026 um 17:25
    • #2

    Hi Anna, der Punkt mit "glaubt" trifft es ganz gut. Die Anwendung baut einfach einen String zusammen und weiß gar nicht, dass darin mal Daten und mal Befehl steckt. Die Datenbank bekommt am Ende nur noch einen fertigen SQL-Text und kann nicht mehr unterscheiden, was davon ursprünglich Nutzereingabe war und was fest im Code stand. Genau da liegt das Problem.

    Klassisches Beispiel, Login per Konkatenation:

    • SELECT * FROM users WHERE name = '" + eingabe + "'

    Wenn jemand bei der Eingabe ' OR '1'='1 einträgt, steht am Ende da:

    • SELECT * FROM users WHERE name = '' OR '1'='1'

    Die DB sieht nur noch fertiges SQL und wertet die Bedingung aus – '1'='1' ist immer wahr, also kommen alle Datensätze zurück. Der Trick funktioniert, weil das schließende Hochkomma aus der Eingabe die ursprüngliche String-Grenze beendet und danach frei SQL weitergeschrieben werden kann.

    Bei Prepared Statements läuft das anders: Erst wird die Struktur der Abfrage an die DB geschickt (mit Platzhaltern), die DB erstellt daraus quasi einen Ausführungsplan. Erst danach werden die eigentlichen Werte getrennt übergeben – rein als Daten, nicht als SQL-Text. Es gibt also keinen Zeitpunkt mehr, an dem Nutzereingabe und SQL-Code im selben String stehen. Deshalb kann da kein Hochkomma mehr "ausbrechen".

  • DanielIT
    WiInf · IT
    Beiträge
    71
    • 4. November 2026 um 18:45
    • #3

    Tobis Erklärung trifft den Kern schon sehr gut, ich ergänze das nochmal aus einer etwas anderen Perspektive, weil mir das beim Verständnis geholfen hat: Man kann sich das als zwei komplett getrennte Kanäle vorstellen. Beim normalen String-Zusammenbau gibt es nur einen Kanal – Struktur und Daten reisen gemeinsam als ein einziger Text zur DB, und die DB muss anhand von Zeichen wie Hochkommas raten, wo die Struktur endet und die Daten anfangen. Genau diese Rateaufgabe kann man als Angreifer manipulieren.

    Bei Prepared Statements gibt es diese Rateaufgabe gar nicht mehr, weil Struktur und Daten getrennt übertragen werden. Die DB kennt also schon vorher genau, an welcher Position im Befehl ein Wert eingesetzt wird, und behandelt diesen Platz immer nur als Wert – egal was drinsteht. Selbst ein Hochkomma in der Eingabe wird dann einfach als Zeichen innerhalb eines Strings interpretiert, nicht als SQL-Syntax. Deshalb spricht man von einer strukturellen Lösung: Das Problem wird nicht „abgefangen“, sondern kann an dieser Stelle technisch gar nicht mehr entstehen.

    Für eine vollständige Absicherung würde ich in der Projektarbeit noch ergänzen:

    • Eingabevalidierung (Whitelisting von erlaubten Zeichen/Formaten)
    • Prinzip der minimalen Rechte für den DB-Benutzer
    • Keine detaillierten Fehlermeldungen der DB nach außen geben
    • ORM-Frameworks, die intern ebenfalls Prepared Statements nutzen
  • AnnaWInf
    WiInf
    Beiträge
    62
    • 9. November 2026 um 16:40
    • #4

    Danke euch beiden, das mit den zwei Kanälen hat bei mir echt den Groschen fallen lassen! Ich versuche mal, das für mich nochmal mit einem konkreten Beispiel durchzugehen, damit ich es in der Projektarbeit auch sauber erklären kann.

    Beim Prepared Statement würde die Login-Abfrage aus meinem Beispiel so aussehen:

    SELECT * FROM users WHERE name = ?

    Dieser String wird zuerst allein an die Datenbank geschickt, also ohne jeden Nutzerwert. Die DB parst ihn, erkennt die Struktur und weiß: an dieser Stelle kommt gleich ein einzelner Wert vom Typ String hin, der mit dem Spaltenwert "name" verglichen wird. Dieser Ausführungsplan steht dann fest.

    Erst im zweiten Schritt wird der eigentliche Eingabewert übergeben, bei meinem Beispiel also ' OR '1'='1 komplett als ein Datum. Die DB setzt diesen kompletten Text an die vorgesehene Stelle ein und sucht einfach nach einem Nutzer, dessen Name exakt diesem kuriosen String entspricht. Da es den vermutlich nicht gibt, kommt kein Ergebnis zurück, genau wie bei jedem anderen "falschen" Namen auch.

    Der entscheidende Unterschied ist also: Das Hochkomma wird nie als SQL-Syntax gelesen, weil zum Zeitpunkt der Eingabe die Struktur schon fertig und "eingefroren" ist. Für meine Projektarbeit nehme ich mir vor, genau diesen zeitlichen Ablauf (erst Struktur, dann Daten) als Merksatz zu formulieren, das fand ich anschaulicher als nur "Eingabe wird maskiert".

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!

Benutzerkonto erstellen Anmelden

Letzte Beiträge

    1. Thema
    2. Antworten
    3. Letzte Antwort
    1. SQL-Injection verstehen – wie funktioniert der Angriff eigentlich genau? 3

      • AnnaWInf
      • 4. November 2026 um 14:21
      • Wirtschaftsinformatik
      • AnnaWInf
      • 9. November 2026 um 16:40
    2. Antworten
      3
      Zugriffe
      86
      3
    3. AnnaWInf

      9. November 2026 um 16:40
    1. NoSQL vs. relationale Datenbank – wann lohnt sich der Wechsel im Projekt? 6

      • AnnaWInf
      • 31. Oktober 2026 um 13:41
      • Wirtschaftsinformatik
      • AnnaWInf
      • 8. November 2026 um 15:57
    2. Antworten
      6
      Zugriffe
      214
      6
    3. DanielIT

      8. November 2026 um 15:57
    1. API-Versionierung – wie gehe ich damit um, wenn sich Schnittstellen ändern? 3

      • DanielIT
      • 28. Oktober 2026 um 12:55
      • Wirtschaftsinformatik
      • DanielIT
      • 31. Oktober 2026 um 13:46
    2. Antworten
      3
      Zugriffe
      180
      3
    3. MarkusWB

      31. Oktober 2026 um 13:46
    1. Echte Kundendaten im Testsystem - geht das datenschutzrechtlich überhaupt? 3

      • AnnaWInf
      • 30. Oktober 2026 um 14:47
      • Wirtschaftsinformatik
      • AnnaWInf
      • 30. Oktober 2026 um 21:40
    2. Antworten
      3
      Zugriffe
      150
      3
    3. MarkusWB

      30. Oktober 2026 um 21:40
    1. Vendor Lock-in bei Cloud-Diensten – wie vermeide ich die Abhängigkeit? 3

      • AnnaWInf
      • 24. Oktober 2026 um 12:39
      • Wirtschaftsinformatik
      • AnnaWInf
      • 27. Oktober 2026 um 17:00
    2. Antworten
      3
      Zugriffe
      179
      3
    3. DanielIT

      27. Oktober 2026 um 17:00
    1. Prozessmodellierung mit BPMN – wie unterscheide ich Gateway-Typen sauber? 2

      • MarkusWB
      • 23. Oktober 2026 um 18:13
      • Wirtschaftsinformatik
      • MarkusWB
      • 23. Oktober 2026 um 23:01
    2. Antworten
      2
      Zugriffe
      158
      2
    3. DanielIT

      23. Oktober 2026 um 23:01
    1. Testdatenbank vs. Produktivsystem – wie trenne ich das sauber im Projekt? 2

      • AnnaWInf
      • 21. Oktober 2026 um 16:43
      • Wirtschaftsinformatik
      • AnnaWInf
      • 21. Oktober 2026 um 20:45
    2. Antworten
      2
      Zugriffe
      171
      2
    3. Tobi89

      21. Oktober 2026 um 20:45
    1. Lastenheft und Pflichtenheft – wer schreibt eigentlich was? 2

      • AnnaWInf
      • 19. Oktober 2026 um 11:05
      • Wirtschaftsinformatik
      • AnnaWInf
      • 19. Oktober 2026 um 17:50
    2. Antworten
      2
      Zugriffe
      175
      2
    3. Tobi89

      19. Oktober 2026 um 17:50
    1. Microservices oder Monolith – was eignet sich besser für mein Studienprojekt? 3

      • DanielIT
      • 15. Oktober 2026 um 11:12
      • Wirtschaftsinformatik
      • DanielIT
      • 15. Oktober 2026 um 16:53
    2. Antworten
      3
      Zugriffe
      217
      3
    3. MarkusWB

      15. Oktober 2026 um 16:53
    1. DSGVO im Studienprojekt – was muss ich bei selbst erhobenen Umfragedaten beachten? 2

      • AnnaWInf
      • 14. Oktober 2026 um 14:10
      • Wirtschaftsinformatik
      • AnnaWInf
      • 14. Oktober 2026 um 16:48
    2. Antworten
      2
      Zugriffe
      215
      2
    3. Tobi89

      14. Oktober 2026 um 16:48
Anzeige
SGD Fernstudium – WM-Vorteile 2026: 10 % auf über 100 Kurse

Registrierung

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!

Benutzerkonto erstellen
Anzeige · Fernstudium-Anbieter
AKAD UniversityTIPPStaatlich anerkannt · berufsbegleitend · jederzeit startenHochschule FreseniusInfomaterial zu Fernstudien kostenlos anfordernSGD – Studiengemeinschaft DarmstadtTraditionsreiche Fernschule – 4 Wochen kostenlos testenILS FernschuleDeutschlands größte Fernschule – 4 Wochen gratis testenWilhelm Büchner HochschuleTechnik-Fernstudium, staatlich anerkanntFernakademieGeprüftes Fernstudium, jederzeit startenEHiP100 % digitales Studium, auch ohne Abitur
Partnerlinks – für dich kostenlos.
Alle Anbieter & Infomaterial →
Anzeige · Technik & Studium
Wilhelm Büchner HochschuleTechnik-Fernstudium (Informatik, Ingenieurwesen)CyberportLaptops & Technik fürs Studium
Partnerlinks.

Beliebte Studienthemen

BWLVWLRechnungswesenSteuerlehreMathe & StatistikWirtschaftsrechtWirtschaftsinformatikWirtschaftswissenschaftenEinsendeaufgabenFernstudium-Anbieter
Anzeige · AKAD University
AKAD University – berufsbegleitendes FernstudiumStudiengänge ansehen →
Partnerlink – für dich kostenlos.

Letzte Beiträge

  1. SQL-Injection verstehen – wie funktioniert der Angriff eigentlich genau?

    AnnaWInf
    9. November 2026 um 16:40
  2. NoSQL vs. relationale Datenbank – wann lohnt sich der Wechsel im Projekt?

    DanielIT
    8. November 2026 um 15:57
  3. API-Versionierung – wie gehe ich damit um, wenn sich Schnittstellen ändern?

    MarkusWB
    31. Oktober 2026 um 13:46
  4. Echte Kundendaten im Testsystem - geht das datenschutzrechtlich überhaupt?

    MarkusWB
    30. Oktober 2026 um 21:40
  5. Vendor Lock-in bei Cloud-Diensten – wie vermeide ich die Abhängigkeit?

    DanielIT
    27. Oktober 2026 um 17:00
Anzeige · Studentenrabatt
📰 Studenten lesen billigerZeitungs- & Zeitschriften-Abos für Studierende – bis −75 %. SPIEGEL, DIE ZEIT, Handelsblatt, Wirtschaftswoche & Über 1.000 Titel.Zu den Studenten-Abos →
Partnerlink – für dich kostenlos.
Werbeplatz
Hier könnte Ihre Werbung stehen37.000+ Mitglieder · 112.000+ Beiträge · Zielgruppe BWL & Fernstudium, 95 % DeutschlandWerbung anfragen →
Mediadaten auf Anfrage

Statistiken

Themen
59.440
Beiträge
115.104
Bilder
1
Videos
0
Mitglieder
37.089
Meiste Benutzer online
17.968
Neuestes Mitglied
maikfr
  1. Impressum
    1. Datenschutzerklärung
    2. Verhaltenskodex
      1. Learn to Post
  2. Mediadaten
  3. Kontakt
  4. Presse
  1. Support

Über Study-Board.de

Study-Board.de ist eine der größten deutschen Communities rund ums Studium – mit über 37.000 Mitgliedern und mehr als 112.000 Beiträgen. Hier findest du Hilfe bei Einsendeaufgaben (SGD, ILS & Co.), verständliche Erklärungen zu BWL- und VWL-Fachbegriffen, Skripte, Klausurtipps und echte Erfahrungen zu Fernstudium-Anbietern wie IU, AKAD und Euro-FH.

Forum, Ratgeber und Linkdatenbank – Lernen, Austausch und gegenseitige Hilfe an einem Ort. Unabhängig und von Studierenden für Studierende.

Cookie-Einstellungen
Community-Software: WoltLab Suite™
Farbschema festlegen