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

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

127258-138277-i_rc.jpg
Gerfried Steube an April 13, 2017 - 10:03 am in OSS

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.


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)“ title=“Die Warnung in der PHP-Doku zu display_errors ist angesichts des<br />Risikos nicht sehr deutlich. (Screenshot: Hanno Böck)“ data-src=“https://scr3.golem.de/screenshots/1704/exception/thumb620/warning-displayerrors.png“ data-src-full=“https://scr3.golem.de/screenshots/1704/exception/warning-displayerrors.png“> </li><li> <img src=

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.

Read more on: Source

Kommentare sind deaktiviert