Anbieter zum Thema
Was passiert auf dem Server?
Die example.php gibt nach dem Aufruf das aus, was der URL über den GET-Parameter übergeben wird. Eine mögliche GET-Übergabe des Strings „Search-Security“ würde wie folgt geschehen:
http://localhost/example.php?string=Search-Security
Wird diese URL mit Enter aufgerufen, so gibt sie den Text „Search-Security“ aus. Als nächstes übergeben wir nun Java-Skriptcode anstelle eines einfachen Text-Strings:
http://localhost/example.php?string=
Erscheint beim Aufruf dieser URL ein Popup mit dem Text „ALARM“, dann ist die PHP-Seite anfällig für eine XSS-Attacke.
Wie lässt sich diese XSS-Lücke beseitigen?
Eine Möglichkeit, die vorher beschriebene XSS-Lücke zu beseitigen, basiert auf der PHP-Funktion htmlspecialchars(). Diese Funktion wandelt Sonderzeichen in HTML-Codes um. Wendet man diese Funktion auf das vorherige Sourcecode-Beispiel an, so würde das Ergebnis wie folgt aussehen:
Ein Aufruf dieser optimierten PHP-Seite mit einem Java-Skriptcode, der per GET-Parameter übergeben wird, lässt einen möglichen XSS-Angriff ins Leere laufen: Der Aufruf von http://localhost/example.php?string=
Inhalt
- Seite 1: Wie kommt es zu XSS-Schwachstellen?
- Seite 2: Was passiert auf dem Server?
- Seite 3: Local und Remote File Inclusions
- Seite 4: Cross Site Request Forgery
(ID:2049815)