Abo
  • Services:
Anzeige
Von einer solchen Fehlermeldung wurde unser Autor kürzlich überrascht.
Von einer solchen Fehlermeldung wurde unser Autor kürzlich überrascht. (Bild: Screenshot Hanno Böck)

Wie konnte das nur passieren?

Das Passwort habe ich umgehend geändert. Das Risiko ist überschaubar. Der Datenbanknutzer hatte nur Zugriffsrechte auf diese eine Datenbank, und darin war nichts geändert. Der Angreifer hätte zwar die Kontrolle über den Inhalt meiner Webseite erlangen können - es existiert eine Installation von PhpMyAdmin, die auch relativ leicht zu finden ist -, aber mehr vermutlich nicht. Es gibt keine direkte Möglichkeit, durch die Kontrolle über die Datenbank Code auf dem Server auszuführen. Diese Möglichkeit besteht nur, wenn ein Datenbanknutzer erweiterte Rechte hat (etwa die "FILE"-Berechtigung), aber das war nicht der Fall.

Anzeige

Passiert ist Folgendes: Aus komplett anderen Gründen war der MySQL-Datenbankserver abgestürzt und für kurze Zeit offline. Das führte dazu, dass beim Verbindungsversuch zur Datenbank ein Fehler auftrat. Es müssen ein paar Dinge zusammenkommen, damit dieser Fehler auftritt und ein Passwort enthält.

PHP besitzt eine Option display_errors, mit der konfiguriert werden kann, ob Fehlermeldungen direkt angezeigt werden. Die PHP-Dokumentation empfiehlt, diese Option auf Produktivsystemen zu deaktivieren, verschweigt aber die erheblichen Risiken, die damit einhergehen. Allerdings ist display_errors standardmäßig aktiviert, wenn man die Option in der PHP-Konfiurationsdatei überhaupt nicht setzt. Das steht übrigens nicht in der Dokumentation.

Display-Errors war bewusst aktiv

Es war kein Versehen, dass display_errors aktiviert war. Ich hatte mich vor längerer Zeit bewusst dafür entschieden. Ursprünglich war die Option auf dem entsprechenden Server global deaktiviert. Ich hatte allerdings bei einem Test einer neueren PHP-Version vor einiger Zeit gemerkt, dass mehrere meiner PHP-Skripte Fehler enthielten, die durch das Abschalten der display_errors-Option unbemerkt blieben. Um das zu verhindern, hielt ich es für sinnvoller, die Anzeigen von Fehlermeldungen standardmäßig zu aktivieren. Im Rückblick war das keine gute Idee.

Eine weitere Besonderheit hier ist, dass die Fehlermeldung einen Stack Trace enthielt. Nur dadurch wurde das Passwort sichtbar. Nicht alle Fehlermeldungen von PHP enthalten Stack Traces. Für Datenbankzugriffe verwendet die Seite die objektorientierte PDO-Erweiterung von PHP (PHP Database Object). Im Fall eines Verbindungsfehlers erzeugt diese eine Exception. Exceptions können mit den Befehlen try und catch abgefangen werden. Wenn man Exceptions jedoch unbehandelt lässt, werden die Fehlermeldungen mit Stack Trace ausgegeben. Fairerweise sei hier gesagt, dass die PDO-Dokumentation eine deutliche Warnung vor diesem Szenario enthält.

MySQL produziert harmlose Fehlermeldungen

Ungewöhnlich ist hier die uneinheitliche Behandlung von Fehlern durch PHP. Als Alternative zu PDO gibt es in PHP für MySQL-Verbindungen die mysqli-API. Die verwendet keine Exceptions und die Fehlermeldungen enthalten weder Stack Traces noch Passwörter. Das erscheint mir insofern bemerkenswert, als ich in der Vergangenheit häufig Nutzern empfohlen habe, PDO mit Prepared Statements zu verwenden. Die mysqli-API unterstützt jedoch ebenfalls Prepared Statements und ist daher möglicherweise die sicherere Alternative.

 IT-Sicherheit: Wie ich mein Passwort im Stack Trace fandPHP macht es dem Nutzer zu einfach, Fehler zu machen 

eye home zur Startseite
Astorek 15. Apr 2017

Gibt ja eine Website, die versucht, die bekanntesten Static Website Generatoren zu...

Themenstart

Noppen 15. Apr 2017

Mir ist letztens das Essen angebrannt. Ich würde sagen, dass die eigene Küche...

Themenstart

VigarLunaris 15. Apr 2017

Was soll ich da sagen... config.py enthält die variablen Darin liegen Brent-Hashing PWs...

Themenstart

.:Tim:. 15. Apr 2017

Naja, an das selbstverständlichste auf Produktivsystemen hat er nicht gedacht...

Themenstart

gadthrawn 14. Apr 2017

Es mag nur ein Schalter sein, aber intern wird mit einfachen Schaltern eben viel mehr...

Themenstart

Kommentieren



Anzeige

Stellenmarkt
  1. Accenture, Frankfurt
  2. Simovative GmbH, München
  3. Behr-Hella Thermocontrol GmbH, Lippstadt bei Paderborn
  4. operational services GmbH & Co. KG, Wolfsburg, Braunschweig, Zwickau


Anzeige
Hardware-Angebote
  1. und Halo Wars 2 + zwei weitere Games gratis erhalten + dank Nvidia-Aktion Tom Clancy’s Ghost...
  2. 84,90€
  3. ab 224,90€ bei Caseking gelistet

Folgen Sie uns
       


  1. Tim Dashwood

    Entwickler von 360VR Toolbox verschenkt seine Software

  2. UEFI-Update

    Agesa 1004a lässt Ryzen-Boards schneller booten

  3. Sledgehammer Games

    Call of Duty WWII spielt wieder im Zweiten Weltkrieg

  4. Mobilfunk

    Patentverwerter klagt gegen Apple und Mobilfunkanbieter

  5. Privatsphäre

    Bildungsrechner spionieren Schüler aus

  6. Raumfahrt

    Chinesischer Raumfrachter Tanzhou 1 dockt an Raumstation an

  7. Die Woche im Video

    Kein Saft, kein Wumms, keine Argumente

  8. Windows 7 und 8

    Github-Nutzer schafft Freischaltung von neuen CPUs

  9. Whitelist umgehen

    Node-Server im Nvidia-Treiber ermöglicht Malware-Ausführung

  10. Easy S und Easy M

    Vodafone stellt günstige Einsteigertarife ohne LTE vor



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Linux auf dem Switch: Freiheit kann ganz schön kompliziert sein!
Linux auf dem Switch
Freiheit kann ganz schön kompliziert sein!
  1. Digital Ocean Cloud-Hoster löscht versehentlich Primärdatenbank
  2. Google Cloud Platform für weitere Microsoft-Produkte angepasst
  3. Marktforschung Cloud-Geschäft wächst rasant, Amazon dominiert den Markt

Radeon RX 580 und RX 570 im Test: AMDs Grafikkarten sind schneller und sparsamer
Radeon RX 580 und RX 570 im Test
AMDs Grafikkarten sind schneller und sparsamer
  1. Grafikkarten AMD bringt vier neue alte Radeons für Komplett-PCs
  2. Grafikkarten AMD stellt Radeon RX 560 und Radeon RX 550 vor
  3. Grafikkarte AMDs Radeon RX 580 nutzt einen 8-Pol-Stromanschluss

Galaxy S8 vs. LG G6: Duell der Pflichterfüller
Galaxy S8 vs. LG G6
Duell der Pflichterfüller
  1. Smartphones Es wird eine spezielle Microsoft Edition des Galaxy S8 geben
  2. Galaxy S8 und S8+ im Kurztest Samsung setzt auf langgezogenes Display und Bixby
  3. Smartphones Samsungs Galaxy S8 könnte teuer werden

  1. Re: ww2 ist langweilig

    Ganym3d | 07:22

  2. Re: Bootzeit?

    tomacco | 07:13

  3. Re: 40k für einen Kleinwagen?

    ArcherV | 07:10

  4. Grammatik: "Das Konzept ähnelt dem europäischen...

    s01q | 07:02

  5. Re: frage zu Passmark CPU benchmarks

    DetlevCM | 06:35


  1. 07:24

  2. 12:40

  3. 11:55

  4. 15:19

  5. 13:40

  6. 11:00

  7. 09:03

  8. 18:01


  1. Themen
  2. A
  3. B
  4. C
  5. D
  6. E
  7. F
  8. G
  9. H
  10. I
  11. J
  12. K
  13. L
  14. M
  15. N
  16. O
  17. P
  18. Q
  19. R
  20. S
  21. T
  22. U
  23. V
  24. W
  25. X
  26. Y
  27. Z
  28. #
 
    •  / 
    Zum Artikel