phpBuddy

Script Downloads

  • Professionelles Gästebuch mit Admin Panel und Spam Schutz
  • Image Hosting Script mit Thumbnail-Funktion und Passwortschutz
  • File Send Script Privates File Sharing Script mit Email-Benachrichtigung
Sie sind hier: Startseite Fehlerbehandlung
Fehlermeldungen und Fehlerbehandlung
Beitragsseiten
Fehlermeldungen und Fehlerbehandlung
Error Reporting
Display Errors
Fehler protokollieren
Eigene Fehlerbehandlung
Exceptions
Fazit und Download
Alle Seiten

Fehlermeldungen, Warnhinweise, Fehlerbehandlung, und mehr

Um eine robuste Webanwendung zu programmieren, die möglichst wenig Angriffsfläche für "Hacker" bietet, muss man wissen wie Angreifer vorgehen und wie die Angriffe ablaufen. Man kann Angriffe in zwei Gruppen teilen:

1. Gezielte Angriffe mithilfe eines Exploit
Solche Angriffe finden meistens auf Webseiten statt, die eine bestimmte Fremd-Software, wie z.B. ein CMS, Forum, Newssystem, Gästebuch, usw., einsetzen. Diese Angriffe werden in der Regel von sogenannten Script Kiddies durchgeführt, die sich kaum selbst die Schuhe binden können, aber zufällig über einen Exploit gestolpert sind und sich nun für die besten Hacker der Welt halten, obwohl dies absolut nichts mit hacken zu tun hat. Solche Exploits sind detaillierte Anleitungen zum Ausnutzen einer Schwachstelle, die auf einschlägigen Seiten frei im Internet verfügbar sind. Auch bekannte Sicherheitsportal, wie etwa heise Security, berichten regelmäßig über Schwachstellen in bekannter Software und verlinken nicht selten Seiten die Exploits enthalten.
Gegen diese Art von Angriffe hilft es in den meisten Fällen sofort verfügbare Sicherheitsupdates für die eingesetzte Software einzuspielen.

2. Systematische Suche nach Schwachstellen
Diese Art Angriffe laufen in Etappen ab. Zuerst wird durch wildes herumprobieren das System veranlasst Informationen preiszugeben, wo man einen Hebel (Angriffsversuch) ansetzen kann, um anschliessend gezielt die potentielle Schwachstelle zu analysieren und zu attackieren.
Der Erste Schritt zielt also darauf ab Fehlermeldungen von unserer Webseite zu provozieren, die Aufschluß über Dateinamen, Pfade, Struktur des Dateisystem und Datenbank, usw. usw. liefert. Dies geschieht durch manipulierte Seitenaufrufe, indem scheinbar sinnfreie Parameter übergeben werden oder Sonderzeichen in die URL eingefügt werden. Unsere Webanwendung, bzw. PHP reagiert höflich und freundlich und teilt dem User mit, dass z.B. Datei /home/benutzer/pfad/zur/datei nicht eingebunden werden konnte. Dabei ahnt PHP (und wir!) nicht, dass es damit viel zu viele Informationen an Angreifer preisgibt.

Je mehr Info ein Angreifer über unser System hat, umso eher findet er Ansatzpunkte für seinen Angriff. Informationen die für uns zu Entwicklungszwecke gut und hilfreich sind, haben aber nichts auf einem produktiven, sprich öffentlich zugängliches, System zu suchen. Allgemine Fehlermeldungen und Hinweise auf die Sitestruktur erscheinen uns harmlos, liefern aber Angreifer potentiell gefährliche Informationen, die deren Arbeit erleichtert.
Und genau darum dreht sich dieser Artikel, der der Erste einer ganzen Reihe von Artikeln ist, wie man sich gegen unterschiedliche Angriffe wehren kann, bzw. diese verhindert, ehe sie stattfinden.

Je verschwiegener unser System ist, desto besser. Auf Benutzerfreundlichkeit muss dabei nicht verzichtet werden. Allerdings diktieren wir, und nicht PHP, welche Informationen bei Fehlermeldungen preisgegeben werden! So können wir Sitebesucher über eventuell auftretende Fehler informieren, während keine Informationen heraus gegeben werden, die gegen uns verwendet werden könnten.