Apache Umgebungsvariablen remote auslesen
Christian Wermelinger
- programmiertechnik
Hallo zusammen
Ich bin dabei ein Webserver Scanner Tool zu entwickeln, welches mögliche Schwachstellen von Webservern erkennt und den Anwender darauf aufmerksam macht. Natürlich geht der Benutzung dieses Tools eine Authentifizierung voraus und können nur vordefinierte IP-ranges analysiert werden, so dass dieses nicht als Hackertool missbraucht werden kann.
Nun habe ich eine Frage grundlegender Art. Wie kann ich IIS und/oder Apache Umgebungsvariablen wie z.B. die aktuelle Version des Webservers, Betriebssystem, offene Ports etc. auslesen? PHP stellt ja diesbezüglich sehr viele Variablen zur Verfügung. Ich gehe aber davon aus, dass sich diese PHP-Variablen nur auf den Server beziehen auf welchem das PHP-Skript auch tatsächlich abläuft. Oder gibt es da eine Möglichkeit z.B. nach Angabe einer IP-Adresse die Webserver Variablen eines anderen Servers 'von aussen' remote auszulesen ohne dass ich direkten Zugriff darauf habe? Wenn ja wie funktioniert das?
Bin für jeden Ratschlag äusserst dankbar!
Gruss Chris
Moin Christian,
Hallo zusammen
... die Webserver Variablen eines anderen Servers 'von aussen' remote auszulesen ohne dass ich direkten Zugriff darauf habe? Wenn ja wie funktioniert das?
hoffentlich gar nicht - das wäre nämlich eine Sicherheitslücke. Aber ein paar Versuche mit test.php, test/info.php, test/php_info.php... kann man ja schon mal machen, vielleicht war einer blöd genug sein Test-Script auf dem Server zu lassen...
Gruß,
Carsten
Hi!
Ich bin dabei ein Webserver Scanner Tool zu entwickeln, welches mögliche Schwachstellen von Webservern erkennt und den Anwender darauf aufmerksam macht.
Zum einen gibt es so Tools bereits, und 2. wundert es mich dass Du Schwachstellen erkennst, aber anscheinend ein paar Grundlagen fehlen... Was genau meinst Du denn für Schwachstellen (z.B.)?
Natürlich geht der Benutzung dieses Tools eine Authentifizierung voraus und können nur vordefinierte IP-ranges analysiert werden, so dass dieses nicht als Hackertool missbraucht werden kann.
keine Sorge ;-)
Nun habe ich eine Frage grundlegender Art. Wie kann ich IIS und/oder Apache Umgebungsvariablen wie z.B. die aktuelle Version des Webservers, Betriebssystem, offene Ports etc. auslesen?
Indem Du diese Informationen über geeignete Protokolle abfragst. Allerdings ist das nicht immer möglich/so einfach, wie es vielleicht aussieht.
Wenn Du Glück hast bekommst Du die ein oder andere Information per HTTP:
http://schroepl.net/cgi-bin/http_trace.pl?url=http%3A%2F%2Fapache.org%2F&method=HEAD&version=HTTP%2F1.0
http://schroepl.net/cgi-bin/http_trace.pl?url=http%3A%2F%2Fmicrosoft.de%2F&method=HEAD&version=HTTP%2F1.0
PHP stellt ja diesbezüglich sehr viele Variablen zur Verfügung. Ich gehe aber davon aus, dass sich diese PHP-Variablen nur auf den Server beziehen auf welchem das PHP-Skript auch tatsächlich abläuft.
richtig.
Oder gibt es da eine Möglichkeit z.B. nach Angabe einer IP-Adresse die Webserver Variablen eines anderen Servers 'von aussen' remote auszulesen ohne dass ich direkten Zugriff darauf habe?
sehr begrenzt, schau Dir z.B. mal
Da steht nicht besonders, viel, aber dagegen:
ist ne einfache Konfigurationssache. Normalerweise will man ja nicht so viel über sein System verraten :)
Wenn ja wie funktioniert das?
Über einfaches HTTP. Andere Protokolle bieten ähnliche Möglichkeiten, wie z.B. SSH. Und die wirklichen Fachleute können aus der Art und weise wie ein Rechner mit bestimmten TCP... Paketen umgeht noch weitergehende Aussagen treffen, aber wie das im Detail funktioniert weiß ich auch nicht.
Grüße
Andreas