O'Reilly logo

PHP-Sicherheit: PHP/MySQL-Webanwendungen sicher programmieren by Stefan Esser, Christopher Kunz

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

2 Informationsgewinnung38
Hinweise des Entwicklers sein, die er zu entfernen vergaß, als er sein
Webprojekt online stellte.
Beispiele für
HTML-Kommentare
<!-- DB Hostname: db.php-sicherheit.de, User: test1, Password:
tester01 __-->
<!-- phpBB Version 2.0 -->
<!-- MyGuestbook 0.8.1 -->
Sie werden womöglich denken, dass Datenbankzugangsdaten in einem
HTML-Kommentar zu weit hergeholt seien – aber dieses extreme Bei-
spiel ist den Autoren in der Praxis im Quellcode der Website eines gro-
ßen Privatsenders tatsächlich begegnet.
Auch CVS-Kommentare können Aufschluss über Usernamen und
Pfade geben. Denn häufig ist der User für eine Administrationsoberflä-
che auch der CVS-User. Außerdem gibt ein CVS-Header Auskunft
über die verwendete Version einer Software.
// $Author: apaxxS $
// $Revision: 1.8.0 $
// $Date: 2005/07/05 09:35:00 $
2.9 Applikationen erkennen
Es gibt bestimmte Merkmale, an denen Applikationen wie Content-
Management-Systeme, Foren oder Gästebücher erkannt werden kön-
nen. Anhand dieser Informationen kann im Internet nach Sicherheits-
löchern und dem dazugehörigen Exploit-Code gesucht werden. Fol-
gende Merkmale geben Aufschluss über die installierten Applikationen:
Das Aussehen bzw. der Aufbau einiger Applikationen bleibt immer
gleich und ist ohne größeren Aufwand nicht veränderbar.
In vielen Applikationen sind Pfade oder Dateinamen hart codiert
und bleiben bei einer Standardinstallation gleich.
Analog zu PHPs
X-Powered-By-Header verschicken Applikationen
eigene Header.
Um die Lesbarkeit für den HTML-Quellcode zu erhöhen, werden
HTML-Kommentare in den Quelltext eingefügt.
Diese Merkmale können für Angreifer eine Hilfe sein, um die Applika-
tion, die auf dem Webserver installiert ist, zu erkennen. In den folgen-
den Abschnitten werden diese Merkmale genauer erläutert.
>D65B>5> (95 ?==5>D1B5 495 *C5B>1=5> ?45B %6141>7125> 5>D81<D5>
1EC45=)"!&E5<<3?45
392.9 Applikationen erkennen
2.9.1 Das Aussehen/Layout
Manche Applikationen haben ein bestimmtes Aussehen bzw. Layout.
Bei der Projektsoftware phprojekt ist z.B. das Menü nahezu festge-
legt. Die Forensoftware phpBB hat immer den gleichen Grundaufbau,
genau wie phpNuke oder das »Gallery«-Skript. Ebenso hat es sich ein-
gebürgert, über einen Link am unteren Seitenrand die eingesetzte Soft-
ware zu bewerben, meist in der Form »powered by <Applikation>«.
2.9.2 Typische Dateien bekannter Applikationen
Bei dem beliebten Content-Management-System Mambo liegen
bestimmte Dateien, wie z.B.
pathway.php oder offline.php, immer an
der gleichen Stelle auf dem Webserver. Durch einen Direktaufruf dieser
Dateien kann festgestellt werden, ob diese Dateien vorhanden sind.
Außerdem wird eine Fehlermeldung am Bildschirm ausgegeben, die
Pfadangaben enthält. Bei dem Content-Management-System Conte-
nido liegt im Document Root eine Datei namens
main.loginform.php,
der Einstiegspunkt zur Administrationsoberfläche.
Anhand dieser spezifischen Dateien ist es möglich, den Namen der
installierten Software zu ermitteln. Durch das Vorhandensein von
bestimmten Funktionalitäten in bestimmten Versionen oder durch
Meta-Tags im Quellcode kann auf die installierte Version geschlossen
werden.
2.9.3 Header-Felder
Einige Applikationen schicken eigene Header mit. Serendipity, ein
Weblog-System, sendet ein HTTP-Header-Feld
X-Blog: mit dem Inhalt
»Serendipity« zurück.
Papaya, ein Open-Source-Content-Management-System sendet ein
X-Generator:-HTTP-Header-Feld mit dem Inhalt »Papaya CMS«
zurück.
2.9.4 Bestimmte Pfade
Durch Eingriffe im Layout kann das Aussehen einer Applikation, vor
allem wenn sie auf Templates basiert, leicht geändert werden, die
Verzeichnisstruktur aber nicht. Viele Anwendungen haben eine ein-
deutige Verzeichnisstruktur, anhand derer Anwendungen erkannt und
identifiziert werden können. Der folgende Link deutet auf ein Mambo-
Content-Management-System hin.
2 Informationsgewinnung40
<link href="/templates/md_mambo/css/default_css.css">
Ein Mambo-Link auf die
Datei default.css
Dieser Link deutet auf die CSS-Datei des Content-Management-Sys-
tems Typo3 hin.
Typo3-Link auf die
Start-CSS-Datei
<link href="/typo3conf/ext/news/newsimp_styles.css">
2.9.5 Kommentare im Quellcode
Entwicklerkommentar
im HTML-Quellcode
Entwickler hinterlassen bisweilen im HTML-Quelltext einer PHP-
Anwendung Kommentare, um die Entwicklung leichter zu gestalten.
Diese Kommentare lassen auf die verwendete Software schließen.
<!--
Test Datenbank: db04.php-sicherheit.de
User: Hans
Pass: test01
Tabelle: db1.users
-->
Ausgabe am Ende
einer durch Mambo
generierten Datei
Das Content-Management-System Mambo speichert am Ende einer
HTML-Datei eine Kontrollsumme.
<!--0234582794056190-->
Quelltextkommentar
von Typo3
Das Content-Management-System Typo3 schreibt einen großen
Kommentarblock in den HTML-Quellcode.
<!--
This website is powered by TYPO3 - inspiring people to share!
TYPO3 is a free open source Content Management Framework
initially created by Kasper Skaarhoj and licensed under GNU/GPL.
TYPO3 is copyright 1998-2006 of Kasper Skaarhoj. Extensions are
copyright of their respective owners.
Information and contribution at http://typo3.com/ and
http://typo3.org/
-->
Außerdem befinden sich bei Typo3 mehrere Kommentare dieser Art
im HTML-Quellcode:
<!-- Header: [begin] -->
[...]
<!-- Text: [begin] -->
%BT65> (95 9> 8B5B >G5>4E>7 1>81>4 45C )"!&E5<<3?45C ?2 E>5B
GT>C38D5 ?==5>D1B51EC757525>G5B45>

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required