Datenbank-Zugangsdaten im Client sichtbar
Prüfregel · RSC-SEC-030
- Sicherheit
- Schweregrad: Kritisch
- CWE-798
- OWASP A07-2021
Findet Connection-Strings mit eingebettetem Benutzer und Passwort im HTML oder in den Bundles.
Warum das zählt
Ein Connection-String enthält Host, Benutzer und Passwort in einer Zeile. Steht er im ausgelieferten Code, ist die Datenbank direkt erreichbar — ohne die App, ohne Login und an jeder Zugriffsregel der Anwendung vorbei.
Der typische Weg dorthin: Ein Generator legt eine Datenbank-Bibliothek an, die eigentlich auf den Server gehört, und importiert sie in eine Client-Komponente. Der Bundler nimmt den Wert mit; im Browser sieht das unauffällig aus, weil nichts sichtbar kaputt ist.
Sofortmaßnahme: Datenbank-Passwort rotieren — die alten Zugangsdaten gelten als kompromittiert. Danach den Zugriff hinter einen Server-Endpunkt legen und den String ausschließlich aus der Server-Umgebung lesen.
Prüfstufe
- Außen-Scan (anonym)
So behebt ihr es
Zugangsdaten serverseitig in Umgebungsvariablen verlagern und das Datenbank-Passwort rotieren.