Hier im Forum bekommt ihr bei euren fragen schnelle hilfe.Hier geht es rund um das Web SeitenProgrammieren.Alles rund ums Javascript,Html,Php,Css und Sql.Auf fast allen Fragen haben wir eine Antwort.
Der Soforthilfe-chat verspricht das ,was sein Name sagt. Hier sind Leute Online die sofort ihre hilfe anbieten.Seht in der OnlineListe nach und wenn einer Online ist werdet ihr auch antwort bekommen. Admine ,Moderatoren und Helfer sind unsere Spezialisten in Sachen Web Programierung
71 Unwetterwarnungen in Deutschland
Die Datenbank wurde zuletzt am 02.08.2020 17:34:28 aktualiesiert
71

IE und Chrome mit Standard-XSS-Filter (X-XSS-Protection)

Ich war gerade sehr überrascht, als ich im Zuge des Herumexperimentierens mit der Content Security Policy (kommt auch bald noch ein Artikel dazu – Update: Content Security Policy – Tutorial) folgendes Standard-Beispiel aufgebaut habe …

<input type="text" value="<?php echo $_GET['value']; ?>" /> 

… und dann das Standard-XSS-Pattern ?value=“><script>alert(1234)</script> übermittelt habe. Resultat im Chrome:

Chrome Filter

Chrome Filter

Bezieht sich übrigens nur auf die Injection von <script>-Tags, ein <b> – Tag geht also durch. Soweit ganz sinnvoll, kann mir jedenfalls keinen legitimen Fall vorstellen, wo ein script-Tag per URL-Parameter benötigt werden könnte. Im IE (ab Version 8) dasselbe Spiel:

IE XSS Filter

IE XSS Filter

Firefox ist das übrigens egal.

Wie ich nach etwas Recherche herausgefunden habe, nennt sich dieser Mechanismus XSS-Protection und ist in Webkit-basierenden Browsern bzw. eben dem IE standardmäßig aktiviert. Per Header lässt sich der Filter allerdings abschalten:

<?php header("X-XSS-Protection: 0"); ?> 

So dann im Chrome:

Chrome ohne Filter

Chrome ohne Filter

Entsprechend im IE, ich spare mir und euch den Screenshot. Alternativ lässt sich das Verhalten noch konfigurieren:

header("X-XSS-Protection: 1; mode=block"); 

Dann wird die komplette Seite geblockt, sodass uns im IE folgendes erwartet:

IE mit Blockfilter

IE mit Blockfilter

Chrome zeigt einfach eine komplett leere Seite und gibt auch keinen Hinweis, etwa in Form einer Fehlermeldung. Prinzipiell eine sinnvolle Angelegenheit, das Verhalten vom IE gefällt mir hier sehr gut.