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)

IT-Sicherheit: Wie ich mein Passwort im Stack Trace fand

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)

Unser Autor hat versehentlich das MySQL-Passwort seiner Webseite veröffentlicht. Hier schreibt er, wie es dazu kam. Er berichtet, warum Fehler selbst dann passieren, wenn man denkt, alle Sicherheitsmaßnahmen umgesetzt zu haben und warum es in PHP zu einfach ist, derartige Fehler zu produzieren.
Ein Bericht von Hanno Böck

Ich betreibe eine private Webseite. Diese dient hauptsächlich dazu, eine Liste an Links zu meinen Artikeln, die ich für Golem.de und andere Medien schreibe, zu präsentieren. Die Webseite nutzt dabei PHP, die Linkliste verwalte ich in einer MySQL-Datenbank.

Anzeige

HTTPS, Content Security Policy und Prepared Statements

Als jemand, der sich viel mit IT-Sicherheit beschäftigt, versuche ich, auf meiner eigenen Webseite alle mir sinnvoll erscheinenden Sicherheitsmechanismen umzusetzen. Selbstverständlich ist die Seite nur über HTTPS erreichbar. Auch zahlreiche andere, moderne HTTPS- und TLS-Features sind umgesetzt: HTTP Strict Transport Security (HSTS), TLS 1.2 mit authentifizierter Verschlüsselung und Forward Secrecy, CAA-Records und Key-Pinning (HPKP). Der bekannte SSL-Labs-Test bewertet meine TLS-Konfiguration mit A+.

  • Und auf einmal war das Passwort auf der Webseite zu lesen. (Screenshot: Hanno Böck)
  • Die Warnung in der PHP-Doku zu display_errors ist angesichts des<br>Risikos nicht sehr deutlich. (Screenshot: Hanno Böck)
  • Auf die Risiken von fehlendem Exception-Handling in PDO hingegen wird deutlich hingewiesen. (Screenshot: Hanno Böck)
Und auf einmal war das Passwort auf der Webseite zu lesen. (Screenshot: Hanno Böck)

Natürlich bin ich mir auch über die üblichen Angriffsvektoren im Netz im Klaren. Cross-Site-Scripting-Angriffe dürften für meine private Seite zwar eigentlich kein Problem darstellen - es werden keine Nutzereingaben verarbeitet und es gibt weder Cookies, die man stehlen könnte, noch eine Möglichkeit zum Login - aber trotzdem nutze ich Content Security Policy. Außerdem setze ich andere sinnvolle Sicherheitsfeatures mit HTTP-Headern. Der Security-Headers-Check von Scott Helme bescheinigt mir hier ein A. (Ein A+ gibt es nur mit längeren HPKP-Laufzeiten, ich habe mich aus Gründen der Flexibilität dagegen entschieden.)

Auch gegen SQL-Injektionen abgesichert

Eine weitere übliche Sicherheitslücke auf Webseiten sind SQL-Injections. Auch diese sind auf meiner relativ simplen Webseite eher unwahrscheinlich, denn es werden nirgendwo Nutzereingaben verarbeitet. Trotzdem nutze ich Prepared Statements, um SQL-Injections praktisch unmöglich zu machen.

Ich hatte das Gefühl, dass ich alle üblichen Schutzmaßnahmen gegen Angriffe umgesetzt hatte. Was sollte also schiefgehen?

Ein Screenshot - und darin eine Fehlermeldung samt Passwort

Vor einigen Tagen schickte mir ein Bekannter eine Nachricht - und einen Screenshot. Auf dem Screenshot waren meine Webseite und eine Fehlermeldung zu sehen. In der Fehlermeldung enthalten: ein Stack Trace samt Passwort für die MySQL-Datenbank.

Wie konnte das nur passieren? 

eye home zur Startseite
Astorek 15. Apr 2017

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

Noppen 15. Apr 2017

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

VigarLunaris 15. Apr 2017

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

.:Tim:. 15. Apr 2017

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

gadthrawn 14. Apr 2017

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



Anzeige

Stellenmarkt
  1. Robert Bosch GmbH, Leonberg
  2. T-Systems International GmbH, München, Hamburg, Darmstadt, Bonn
  3. SEW-EURODRIVE GmbH & Co KG, Bruchsal
  4. Jetter AG, Ludwigsburg


Anzeige
Blu-ray-Angebote
  1. (u. a. Der Marsianer 8,79€, Blade Runner 8,97€, Interstellar 8,74€, X-Men Apocalypse 8,79€)
  2. (u. a. Hobbit Trilogie Blu-ray 43,89€ und Batman Dark Knight Trilogy Blu-ray 17,99€)
  3. (u. a. Reign, Person of Interest, Gossip Girl, The Clone Wars)

Folgen Sie uns
       


  1. Bildbearbeitung

    Google-Algorithmus entfernt Wasserzeichen auf Fotos

  2. Ladestationen

    Regierung lehnt Zwangsverkabelung von Tiefgaragen ab

  3. Raspberry Pi

    Raspbian auf Stretch upgedated

  4. Trotz Förderung

    Breitbandausbau kommt nur schleppend voran

  5. Nvidia

    Keine Volta-basierten Geforces in 2017

  6. Grafikkarte

    Sonnets eGFX Breakaway Box kostet 330 Euro

  7. E-Commerce

    Kartellamt will Online-Shops des Einzelhandels schützen

  8. id Software

    Quake Champions startet in den Early Access

  9. Betrug

    Verbraucherzentrale warnt vor gefälschten Youporn-Mahnungen

  10. Lenovo

    Smartphone- und Servergeschäft sorgen für Verlust



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Threadripper 1950X und 1920X im Test: AMD hat die schnellste Desktop-CPU
Threadripper 1950X und 1920X im Test
AMD hat die schnellste Desktop-CPU
  1. Ryzen AMD bestätigt Compiler-Fehler unter Linux
  2. CPU Achtkerniger Threadripper erscheint Ende August
  3. Ryzen 3 1300X und 1200 im Test Harte Gegner für Intels Core i3

Sysadmin Day 2017: Zum Admin-Sein fehlen mir die Superkräfte
Sysadmin Day 2017
Zum Admin-Sein fehlen mir die Superkräfte

Orange Pi 2G IoT ausprobiert: Wir bauen uns ein 20-Euro-Smartphone
Orange Pi 2G IoT ausprobiert
Wir bauen uns ein 20-Euro-Smartphone
  1. Odroid HC-1 Bastelrechner besser stapeln im NAS
  2. Bastelrechner Nano Pi im Test Klein, aber nicht unbedingt oho

  1. Re: Wird doch nix

    Mr Miyagi | 15:15

  2. Re: Upgedated???

    Deff-Zero | 15:13

  3. Re: später werden wir gar keine eigenen Autos...

    jo-1 | 15:13

  4. naja gerade wurde das letzte Deutschte LWL...

    le_watchdoge | 15:12

  5. Re: Ich bin für die zwangsweise Verlegung der...

    Oktavian | 15:12


  1. 14:38

  2. 12:42

  3. 11:59

  4. 11:21

  5. 17:56

  6. 16:20

  7. 15:30

  8. 15:07


  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