SQL Server-Sicherheit: Verschlüsselung und SQL Injection


Selbst wenn SQL Injection nur eine Lücke wäre, bei der Daten offen gelegt werden können, wäre das schon schlimm genug. Tatsächlich kann ein versierter Angreifer diesen Fehler jedoch so ausnutzen, dass er fast alles auf dem Server machen kann. Hier ein bösartiges Beispiel eines Stücks SQL, das injiziert werden könnte:

Daraus wird die folgende SQL-Anweisung:

Das Semikolon trennt für SQL Server mehrere Anweisungen, also gibt es hier zwei Anweisungen. Die erste fragt einen nichtexistenten Ansprechpartner ab, die zweite löscht die gesamte Kundentabelle! Der doppelte Bindestrich (–) ist ein SQL Server-Kommentarzeichen, das verhindert, dass das abschließende Anführungszeichen einen Syntaxfehler verursacht.

Mit dieser Variante kann ein Angreifer jede beliebige SQL-Anweisung oder gespeicherte Prozedur auf dem Server ausführen. Mithilfe der erweiterten gespeicherten Prozedur xp_cmdshell kann ein Angreifer sogar Befehle auf Betriebssystemebene ausführen. Dies ist selbstverständlich ein ernstes Problem.

Selbstschutz

Wie schützt man sich also vor einer SQL Injection? Die erste Antwort lautet ganz schlicht: Man darf Benutzereingaben nie direkt in einer WHERE-Klausel verwenden. Stattdessen sollte man gespeicherte Prozeduren mit Parametern benutzen. Im Falle der obigen ASP-Seite würde der entsprechend geänderte Teil so aussehen wie in Listing A.

Selbst wenn man überzeugt ist, dass die eigenen Anwendungen keine solchen Sicherheitslücken aufweisen, sollte man sich immer an das Prinzip halten, nur die notwendigsten Berechtigungen zu vergeben. Das heißt, man sollte die übrigen in dieser Reihe vorgestellten Sicherheitsverfahren anwenden, so dass Anwender nur auf solche Daten zugreifen können, die sie auch benutzen. Auf diese Weise kann selbst eine eventuell übersehene Sicherheitslücke nicht zur Katastrophe führen.

Page: 1 2 3 4

ZDNet.de Redaktion

Recent Posts

Bericht: Google entwickelt App-Quarantäne für Android

Die Sicherheitsfunktion taucht in einer Beta eines kommenden Android-Updates auf. Die Quarantäne beendet unter anderem…

1 Woche ago

Kostenloser Kurs zum Ausbau von Low-Code-Programmierung

Die OutSystems Developer School hilft Entwicklern, in 2 Wochen komplexe reaktive Anwendungen mit der Low-Code-Plattform…

1 Woche ago

Cloudflare: DNS-basierte DDoS-Angriffe steigen im ersten Quartal um 80 Prozent

Das Jahr 2024 beginnt laut Cloudflare mit einem Paukenschlag. Die automatischen Systeme des Unternehmens wehren…

1 Woche ago

Roblox: 34 Millionen Zugangsdaten im Darknet

Laut Kaspersky nehmen Infostealer gerade auch Spieleplattformen ins Visier. Neue Studie untersucht Angriffe zwischen 2021…

1 Woche ago

EU-Datenschützer kritisieren Facebooks „Zustimmung oder Bezahlung“-Modell

Ohne eine kostenlose Alternative, die ohne Zustimmung zur Verarbeitung personenbezogener Daten zu Werbezwecken auskommt, ist…

2 Wochen ago

Europol meldet Zerschlagung der Phishing-as-a-Service-Plattform LabHost

LabHost gilt als einer der größten Phishing-Dienstleister weltweit. Die Ermittler verhaften 37 Verdächtige, darunter der…

2 Wochen ago