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

4 Cross-Site Scripting86
Benutzernamen und Passwörter werden so nicht gespeichert – und da
die neuen Eingabefelder als Arrays aufgebaut sind, müssen Sie sie ein-
fach nur mit dem entsprechenden Array-Key ansprechen. Dieser wird
als versteckte Variable mit übergeben und kann dann wie folgt benutzt
werden:
<?php
$key = $_POST['key'];
$user= $_POST['username'][$key];
$pass = $_POST['pw'][$key];
?>
Mit dieser einfachen Maßnahme können Sie verhindern, dass bequeme
Benutzer ihre Zugangsdaten speichern und so im Fall einer XSS-Atta-
cke zu Opfern werden.
4.6 XSS in LANs und WANs
Ein zentrales Problem mit XSS ist die Tatsache, dass XSS-Angriffe als
»Firewall-Brecher« verwendet werden können und selbst ein ansons-
ten geschütztes lokales Netzwerk durch webbasierte Angriffe penet-
riert werden kann. Ein solcher dezentraler oder »Second-Order«-
Angriff nutzt meist die Tatsache aus, dass bestimmte Teile einer verteil-
ten webbasierten Anwendung nur aus dem lokalen Netzwerk des
Anwenders zugänglich sind. Bei einer E-Commerce-Lösung könnte das
das Warenwirtschaftssystem sein, das im LAN der Firma läuft, jedoch
an die Registrierungs- und Bestelldatenbank des Onlineshops ange-
bunden ist. Bei Onlinemagazinen oder News-Sites könnte das Auto-
rensystem nur innerhalb des Firmennetzes verfügbar sein, jedoch wer-
den Moderationsfunktionen und Benutzerfreischaltungen über eine
zentrale Datenbank gesteuert. In all diesen Fällen bedeutet ein erfolg-
reicher XSS, dass der Angreifer unter Umständen Aktionen ausführen
kann (besser: ausführen lassen kann), zu denen er überhaupt keinen
Netzwerkzugriff hat.
Derartige Angriffe sind meist schwer durchzuführen, wenn der
Angreifer nicht über das notwendige Insiderwissen verfügt. Gelingt es
ihm aber, die notwendigen Informationen über die intern eingesetzte
Software und deren Lücken zu beschaffen, hat er meist freie Hand,
denn nur die wenigsten Entwickler sichern für reinen LAN-Zugriff
gedachte Anwendungen so intensiv, wie sie das für über das Internet
zugängliche Applikationen tun würden (siehe Abb. 4–1).
Im Diagramm wird das Vorgehen deutlich: Der sowohl von außen
über das Internet als auch im LAN des Betreibers zugängliche Webser-
ver wird mit einem XSS-Angriff »gefüttert«. Die inkriminierten Nut-

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