Hauptmenü

Untermenü

Sicher programmieren - Informationen

1. Die Abschnitte

2. Das Grundprinzip

Aus welchen Gründen auch immer verbreiten sich Meldungen über Schwachstellen innerhalb von Programmen in Windeseile. Darum versuchen Hacker auch sofort, bei einem Internetauftritt herauszufinden, ob besagte Software dazu gehört. Für einen Angriff benötigt man nur die entsprechenden Informationen. Dazu gibt es mehrere Möglichkeiten, von denen ich euch hier nur ein paar Beispiele zeugen möchte.

Content Management Systeme

... neigen leider sehr gerne dazu, sich im erzeugten HTML-Quellcode zu verewigen. Typo3 zum Beispiel macht das in Form eines Kommentars wie


<!-- 
  This website is powered by TYPO3 inspiring people to share!
  ...
-->

oder Joomla über das <meta>-Tag


<meta name="Generator" content="Joomla! - ... " />

In beiden Fällen reicht also ein Blick in den erzeugten Quellcode, um herauszufinden, ob und mit welchem CMS ein Auftritt erstellt wurde. Und das muss noch nicht mal händisch geschehen, dafür reichen ein paar einfache Scripte, um das zu automatisieren.

3. Weitere Möglichkeiten

Datenbanken

... kann man sehr schnell anhand von Fehlermeldungen identifizieren. Man manipuliert eine Eingabe (wie zeige ich später) und bumms, auf einmal erscheint da was à la


1054-Unknown column 'bla' in 'where clause'

In diesem Fall handelt es sich um eine Fehlerbehandlung mittels mysql_errno().'-'.mysql_error(). So kann man schon anhand des so genannten Error-Codes herausfinden, dass es sich in diesem Fall um ein MySQL-DMS handelt.

PHP

Hier kommt das error_reporting ins Spiel. Wenn man zum Beispiel versucht, eine Datei zu öffnen, die nicht existiert, so wird einem die folgende Meldung um die Ohren gehauen.


Warningfopen(bla.txt) [function.fopen]: failed to open streamNo such file or directory in http://www.bla.de/blubb/open.php 
on line 103

Auch hier weiß man sofort, dass die eingesetzte Programmiersprache PHP ist, selbst wenn man die Links über mod_rewrite umwandelt. Zudem erhält man auch schon Informationen über die Struktur der Anwendung.

robots.txt

Damit will man gewöhnlich Suchmaschinenprogramme von bestimmten Verzeichnissen fernhalten. Ein Hacker könnte natürlich nicht zu Unrecht vermuten, dass sich in den Ordnern wichtige Dateien befinden. Bei mir sieht es zum Beispiel so aus:


User-agent: *
Disallow: /misc
Disallow: /fun

Gut, das ist in meinem Fall nichts Weltbewegendes, aber in vielen anderen nicht!

4. Zusammenfassung

Ich hoffe, ihr habt erkannt, wo die ersten Schwachstellen in eine Anwendung liegen können. Darum sollte man sie zuerst beseitigen.

zurück zum vorherigen Abschnitt weiter zum nächsten Abschnitt