Attacchi per manipolazione d'URL Ataques por manipulação de URL Attaques par manipulation d'URL Ataques de manipulación de URL URL manipulation attacks

Einführung zu URLs

Die URL (Uniform Resource Locator)einer Web-Anwendung ist der Vektor, mit dem die gefragte Quelle angezeigt werden kann. Es handelt sich um eine Kette von druckbaren ASCII Zeichen, die aus fünf Teilen besteht :

  • Dem Namen des Protokolls : also sozusagen die Sprache, die verwendet wird, um auf dem Netzwerk zu kommunizieren. Das am häufigsten eingesetzte Protokoll ist das HTTP Protokoll (HyperText Transfer Protocol), welches den Austausch von Websites im Format HTML ermöglicht. Es können aber auch viele andere Protokolle verwendet werden (FTP, News, Mailto, etc.)
  • ID und Passwort : ermöglichen es, die Zugangsparameter zu einem geschütztem Server einzugeben. Dies ist allerdings nicht empfehlenswert, da dass Passwort so klar ersichtlich in der URL ist.
  • Der Name des Servers : es handelt sich um den Domainnamen des Computers, auf dem die gewünschte Quelle liegt. Anmerkung: es ist möglich, dieIP Adresse des Servers zu verwenden.
  • Die Nummer des Ports : dies ist eine Nummer, die einem Dienst zugeteilt ist und den Server wissen lässt, welche Art von Ressource verlangt wird. Der Port, der dem Protokoll standardmäßig zugeteilt ist, ist Port nummer 80. Wenn der Webservice des Servers Port nummer 80 zugeteilt ist, kann man die Portnummer nach Wunsch zuordnen.
  • Der Zugangspfad zur Ressource :Dieser letzte Teil erlaubt es dem Server, herauszufinden, wo die Ressource genau liegt, also den Ort ganz allegemein (Verzeichnis) und den Namen der gerfagten Ressource.

Eine URL hat die folgende Struktur :

Protokoll Passwort (freiwillig) Name des Servers Port
(freiwillig, wenn 80)
Pfad
http:// user:password@ de.kioskea.net :80 /glossair/glossair.php3

Die URL kann dazu dienen, Parameter an den Server zu übermitteln, indem nach den Dateinamen ein Fragezeichen gestellt wird, gefolgt von Daten im ASCII-Format. Eine URL ist dann eine Zeichenkette im folgenden Format :

http://de.kioskea.net/forum/index.php3?cat=1&page=2

Manipulation einer URL

Indem er bestimmte Teile der URL verändert, kann ein Hacker einen Server dazu bringen, Seiten anzuzeigen, auf die er keine Zugriffsrechte hat.

Bei dynamischen Websites werden Parameter meist in folgender Form über die URL ausgegeben :

http://opfer/forum/index.php3?cat=2

Die Daten, die in der URL vorhanden sind, werden automatisch von der Seite ausgegeben, und beim normalen Navigieren klickt ein User nur auf Links, die auf der Website liegen. Wenn ein User den Parameter aber manuell verändert, kann er verschiedene Werte ausprobieren, zum Beispiel :

http://opfer/forum/index.php3?cat=6

Wenn der Entwickler nicht mit einer solchen Situation gerechnet hat, kann der Hacker möglicherweise Zugang zu einem geschützen Bereich erhalten.

Außerdem kann der Hacker die Website dazu bringen,auf eine unerwartete Situation zu reagieren, zum Beispiel :

http://opfer/forum/index.php3?cat=***********
Im obigen Fall ist es möglich, dass die Website einen nicht vorgesehenen Zustand einnimmt und über eine Fehlermeldung Informationen preisgibt, wenn der Entwickler nicht vorgesehen hat, dass die Daten nicht aus Zahlen bestehen.

Trial and Error

Ein Hacker könnte auf gut Glück verschiedene Verzeichnisse und Erweiterungen ausprobieren, um wichtige Informationen zu finden. Hier sind einige klassische Beispiele :

  • Suche nach Verzeichnissen, die Admin-Rechte über die Seite verleihen :
    http://opfer/admin/
    http://opfer/admin.cgi
  • Suche nach Scribt, dass Informationen über das fremde System preisgibt :
    http://opfer/phpinfo.php3
  • Suche nach Sicherungskopien. Die Erweiterung .bak wird oft gebraucht, und wird nicht standardmäßig von Servern übersetzt, was dazu führen kann, dass ein Script angezeigt wird :
    http://opfer/index.php3.bak
  • Suche von versteckten Dateien am fremden System. Bei UNIX Systemen kann es vorkommen, dass vom System geschaffene Dateien über Web zugänglich sind, wenn das Stammverzeichnis der Website dem Verzeichnis eines Users entspricht :
    http://opfer/.bash_history
    http://opfer/.htaccess

Directory Traversal

Bei Angriffen über « Directoy Traversal » ( directory traversal oder path traversal) bestehen darin, die Struktur des Pfads in der URL zu verändern, um den Server dazu zu bringen, Bereiche der Seite anzuzeigen, auf die man keine Zugriffsrechte hat.

Ein klassischer Fall wäre, dass der User gezwungen ist, progressiv den Pfad hinaufzuverfolgen, vor allem, wenn die Ressource nicht zugänglich ist, zum Beispiel :

http://opfer/base/test/ascii.php3
http://opfer/base/test/
http://opfer/base/

Bei anfälligen Servern, kann man den Pfad einfach durch mehrere solche Ketten zurückverfolgen« ../ » :

http://opfer/../../../../verzeichnis/datei

bei fortgeschritteneren Angriffe werden bestimmte Zeichen codiert :

  • entweder durch URL Codierung :
    http://opfer/..%2F..%2F..%2Fverzeichnis/datei
  • oder durch Unicode Notation :
    http://opfer/..%u2216..%u2216verzeichnis/datei

Viele dynamische Seiten geben den Namen der anzuzeigenden Seiten in einer Form aus, die der folgenden ähnlich ist :

http://opfer/cgi-bin/script.cgi?url=index.htm

Sofern keine Kontrolle durchgeführt wird, kann ein Hacker die URL manuell verändern, um Zugang zu einer Ressource der Seite zu fordern, zu der er keinen direkten Zugang hat, beispielsweise :

http://opfer/cgi-bin/script.cgi?url=script.cgi

Gegenmaßnahmen

Um einen Server vor Angriffe per URL-Manipulation zu schützen, ist es nötig, über Schwachstellen am Laufenden zu bleiben und regelmäßig die Software-Patches herunterzuladen, die für den Server zur Verfügung gestellt werden.

Außerdem kann man durch eine genaue Konfiguration des Servers verindern, dass ein User auf Seiten navigiert, auf die er keinen Zugriff haben sollte. Der Web-Server sollte also entsprechend der folgenden Grundregeln konfiguriert werden :

  • Verhindern, dass auf Seiten navigiert wird, die unter dem Rootverzeichnis der Website liegen (Mechanismus des chroot) ;
  • Die Anzeige von Dateien verhindern, die in einem Verzeichnis liegen, das keine Index-Datei hat (« Directory Browsing ») ;
  • Löschen von Verzeichnissen und nicht benötigten Dateien (auch versteckte Dateien ;
  • Sicherstellen, dass der Server den Zugang zu Verzeichnissen mit heiklen Datein schützt ;
  • Überflüssige Konfigurationsoptionen entfernen ;
  • Sicherstellen, dass der Server dynamische Seiten korrekt interpretiert, darunter auch Sicherheitsdateien (.bak) ;
  • Überflüssige Script Interpreter löschen ;
  • Verhindern, dass Seiten, die über HTTPS zugänglich sind, im HTTP-Modus angezeigt werden.


Letzte Änderung am Mittwoch 1 April 2009 à 14:16:21.Das Dokument mit dem titel « Angriffe per Manipulation der URL » aus Kioskea (de.kioskea.net) zur verfügung gestellt wird unter den bedingungen der Creative Commons lizenz. Können Sie ändern, Kopien dieser Seite, unter den Bedingungen der Lizenz, als diese Bewertung deutlich.
Beste Antworten für « Angriffe per Manipulation der URL » auf :
Man in the middle Angriff (« Mann in der Mitte ») Sehen Man in the middle Angriff Beim Angriff perMan in the middle  » (wörtlich übersetzt « Angriff per Mann in der Mitte » oder « Janusangriff »), manchmal geschrieben als MITM, belauscht der Hacker eine Kommunikation zwischen zwei Geschprächspartnern,...
URL Sehen Was ist ein URL ? Eine URL (Uniform Resource Locator) ist ein universelles Benennungsformat zum Bezeichnen einer Internet Ressource. Es handelt sich um eine druckbare ASCII Zeichenkette in 5 verschiedene Teile gegliedert  Der Protokoll Name :...
Einführung zu Angriffen Sehen Einführung zu Angriffen Jeder Computer, der in einem Netzwerk hängt, kann unter Umständen einem Angriff zum Opfer fallen. Ein « Angriff » ist das Ausnützen einer Lücke des Computersystems (Betriebssystem, Software oder sogar User-System) zu...
[Shell] Abrufen seiner öffentlichen IP- Adresse SehenZweck Aus mehreren Gründen, man braucht wieder seine öffentliche IP Adressen in einem Skript abzurufen. Das Problem besteht dann, wenn man auf LAN, ist diese IP ohne menschliche Intervention zu finden. Umsetzung Der einfachste Weg, den ich bisher...
Download Xtremsplit SehenXtremsplit dient zum Schneiden von großen Dateien in kleine Fragmente, die durch den Benutzer bestimmt werden. Beispielsweise sollten Sie eine große Datei Ihrem Freund per E-Mail übergeben. Sie nehmen schließlich wahr, dass die maximal zulässige...
SYN-Angriff SehenSYN-Angriff Der« SYN-Angriff » (auch « TCP/SYN Flooding »genannt) ist ein Flooding - Angriff (Denial of Service) welcher den Mechanismus des Drei-Wege Handshakes (auf Englisch Three-ways handshake) des TCP Protokollsausnützt. Über den Drei-Wege...
Denial of Service Angriff SehenEinführung zu Denial of Service Angriffen Ein « Denial of Service Angriff » (abgekürzt alsDoS) ist eine Art von Angriff, bei dem auf unbegrenzte Zeit die Leistungen oder Ressourcen einer Organisation lahmgelegt werden sollen. Meistens handelt es...
Ping of death Angriff SehenPing of death Angriff DerPing of death Angriff ist einer der ältesten Netzwerkangriffe.Das Prinzip des Ping of deaths besteht ganz einfach darin, ein IP Datagramm zu kreieren, dessen Gesamtgröße die zugelassene Maximalgröße übersteigt (65536...