Escaping für alle! RFC zum nativen XSS-Schutz für PHP erschienen
Kommentare

Pádraic Brady ist es leid, dass so viele PHP-Anwendungen nach wie vor unsicher geschrieben werden, und Anti-XSS-Implementationen meistens nur lückenhaft vorliegen. Daher fordert er in seinem RFC zum

Pádraic Brady ist es leid, dass so viele PHP-Anwendungen nach wie vor unsicher geschrieben werden, und Anti-XSS-Implementationen meistens nur lückenhaft vorliegen. Daher fordert er in seinem RFC zum „escaper“, dass eine einheitliche Implementation im PHP-Core vorhanden sein sollte.

Der Status quo ist sehr unaufgeräumt: HTML im Body oder HTML-Attribute werden über htmlspecialchars() oder htmlentities() escapet. JavaScipt lässt sich über addslashes() oder json_encode() bereinigen. Gegen gezinkte URLs und URIs helfen rawurlencode() oder urlencode(). Und gegen Schadcode im CSS ist im PHP-Kern gar kein Kraut gewachsen. Die Methoden seien in sich und untereinander allerdings inkonsistent, wie Brady im RFC anführt.

Die im RFC vorgeschlagene Implementation zentralisiert die Einstellungen zum Escaping in einem konsistenten Interface, das sich anschließend für das gesamte Projekt oder einzelne Bibliotheken verwenden lässt. Wie dies im Einzelnen aussehen könnte, kann man sich hier anschauen.

PHP war schon oft für seinen Mangel an Sicherheit in Kritik geraten. XSS und SQL-Injections sind schon immer wichtige Themen gewesen, wenn es darum ging, Lecks in Systemen zu entdecken. Daher wurden in bedeutenden Frameworks wie Zend Framework 2 oder Symfony 2 bereits eigene Lösungen im Escaper-Stil in PHP-Code implementiert, um solchen Sicherheitslücken auf einheitliche Weise Einhalt zu gebieten. Doch Brady meint, dass dies nicht nur Nutzern dieser Frameworks vorbehalten bleiben sollte.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -