4 Cross-Site Scripting110
diese Tatsache genutzt werden: Mit einer Anfrage per Telnet, die den
Header
Host: <script>alert('document.cookie')</script>
enthält, können die Logging- und Statistiksysteme vieler CMS, Blogs
und anderer Anwendungen ausgetrickst werden.
Auch gegen XSS in User-Agents und anderen Header-Feldern
schützen Sie sich auf die bewährte Art:
htmlentities(strip_tags($_ SERVER['HTTP_USER_AGENT']))
entfernt XSS aus Headern – denn HTML hat dort nun wirklich nichts
zu suchen. Anführungszeichen hingegen sollten bleiben – sie könnten
legitimen Zwecken dienen.
4.16 Attack API
Trotz der Fülle an Möglichkeiten, die über das DOM einem Angreifer
offen stehen, unterschätzen viele Entwickler, aber auch Sicherheitsex-
perten das Problem XSS. Dabei sind simple Popups oder auch
gefälschte Newsmeldungen lange nicht alles, was man über JavaScript-
basierte Angriffe anstellen kann. Was möglich ist, demonstriert die
Attack API
11
eindrucksvoll. In einer kompakten JavaScript-Bibliothek
sind neben Tools zum Sammeln von Informationen auch Werkzeuge
zum Fernsteuern von Browsern und sogar ein in JavaScript implemen-
tierter Portscanner enthalten, der – schließlich läuft er im Webbrowser
und somit im lokalen Netzwerk – auch dazu eingesetzt werden kann,
ein Firmen-LAN von außen nach bestimmten Kriterien zu durchsuchen.
Auch ein Keylogger findet sich in der Toolsammlung – sehr prak-
tisch, um etwa unbemerkt über eine XSS-Lücke Formulareingaben
abzuhören. Die Attack API gibt einen Ausblick darauf, wie Cross-Site
Scripting in der Praxis eingesetzt wird, um über unsichere Webanwen-
dungen ganz konkrete Angriffe auszuführen und Userdaten auszuspä-
hen.
$$ /+./<=38.83-2>?8+,I8./<63-2L,/2+8./68#3/=3/=>/>=A3//8?>
D/</381+,/8
11. http://www.gnucitizen.org/projects/attackapi/

Get PHP-Sicherheit: PHP/MySQL-Webanwendungen sicher programmieren now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.