SQL Server-Sicherheit: Verschlüsselung und SQL Injection

SQL Injection ist der Name für eine allgemeine Klasse von Attacken, die es böswilligen Anwendern ermöglichen, auf Daten zuzugreifen, Server-Einstellungen zu verändern oder sogar den ganzen Server zu kapern, wenn man nicht vorsichtig ist. SQL Injection ist kein spezielles Problem von SQL Server, sondern betrifft alle unsauber geschriebenen Anwendungen. Da man sicherlich im Laufe seines Lebens auf eine solche Anwendung stoßen wird, sollte man das Problem verstanden haben und wissen wie man es behebt.

Lokalisierung von Schwachstellen

Einfallstore für SQL Injection entstehen, wenn gutgläubige Anwendungsentwickler eine WHERE-Klausel erstellen, bei der Benutzereingaben verwendet werden. Eine schlichte ASP-Anwendung könnte z. B. erlauben, dass der Benutzer eine Kunden-ID eingibt und der Ansprechpartner der zugehörigen Firma ausgegeben wird. Falls die Kunden-ID als Bestandteil des Requests von der ASP-Seite übergeben wird, könnte der Entwickler den folgenden Code schreiben, um die Daten abzurufen:

Wo liegt also das Problem? Wenn ein Benutzer eine Kunden-ID eingibt, erhält er den zugehörigen Ansprechpartner. Das geht doch in Ordnung, oder?

Abruf zusätzlicher Daten

Nun nicht ganz. Zum einen kann der Hacker den Namen eines Ansprechpartners erfahren, selbst wenn er gar keine Kunden-ID kennt. Er muss dabei nicht einmal eine erraten. Um dies zu erreichen, gibt er einfach den folgenden Text in das Eingabefeld ein, wo die Anwendung die Kunden-ID erwartet:

Wenn man dies in den Code einfügt, wird daraus die folgende Abfrage:

Durch Anwendung des UNION-Operators auf alle leeren und nicht-leeren Kunden-IDs gibt diese Abfrage alle Ansprechpartner aus der Datenbank aus! Die Response.Write-Anweisung würde direkt die ersten dieser Namen auf der Antwortseite ausgeben. Tatsächlich kann man mit dieser UNION-Methode beinahe alles aus einer Datenbank herausholen. Wenn man Folgendes als Kunden-ID eingibt:

wird daraus die folgende SQL-Anweisung:

Voilá, schon hat der Hacker den Namen des ersten Mitarbeiters aus der Datenbank.

Page: 1 2 3 4

ZDNet.de Redaktion

Recent Posts

Digitale Produkte „cyberfit“ machen

Vernetzte Produkte müssen laut Cyber Resilience Act über Möglichkeiten zur Datenverschlüsselung und Zugangsverwaltung verfügen.

3 Tagen ago

Google schließt schwerwiegende Sicherheitslücken in Chrome 131

Das jüngste Update für Windows, macOS und Linux stopft drei Löcher. Eine Anfälligkeit setzt Nutzer…

3 Tagen ago

Apple schließt Zero-Day-Lücken in iOS, iPadOS und macOS

Zwei von Google-Mitarbeitern entdeckte Schwachstellen werden bereits aktiv gegen Mac-Systeme mit Intel-Prozessoren eingesetzt. Sie erlauben…

3 Tagen ago

Gefährliche Anzeigen für Passwortmanager Bitwarden verbreiten Malware

Die Hintermänner haben es unter anderem auf Daten von Facebook-Geschäftskonten abgesehen. Opfer werden über angebliche…

4 Tagen ago

Public Cloud: Gartner erwartet 2025 weltweite Ausgaben von 723 Milliarden Dollar

Bis 2027 werden 90 Prozent der Unternehmen eine Hybrid-Cloud-Strategie umsetzen.

4 Tagen ago

iPhone 15 ist bestverkauftes Smartphone im dritten Quartal

Apple belegt in der Statistik von Counterpoint die ersten drei Plätze. Samsungs Galaxy S24 schafft…

4 Tagen ago