Was ist Cross-Site-Scripting oder XSS?

Avatar of Chris Coyier
Chris Coyier am

DigitalOcean bietet Cloud-Produkte für jede Phase Ihrer Reise. Starten Sie mit 200 $ kostenlosem Guthaben!

Ich denke, der Name „Cross-Site“ ist verwirrend. Man hört das leicht und denkt, es gehe darum, dass Code auf einer Website Code auf einer anderen Website angreift. Das ist es nicht. Ganz zu schweigen von der unglücklichen „wahren“ Abkürzung.

Es bedeutet einfach: **Ausführung von beliebigem JavaScript-Code auf der Seite.**

Dies kann JavaScript sein, das in die URL eingefügt wird oder durch Formularübermittlungen. Wenn eine dieser Möglichkeiten, Informationen zu akzeptieren, die erhaltenen Informationen nicht „bereinigt“, bevor sie wieder auf der Seite ausgegeben werden, dann kann beliebiger JavaScript-Code auf dieser Seite ausgeführt werden und das ist eine XSS-Schwachstelle.

Wenn JavaScript auf der Seite ausgeführt werden kann, dann kann es auf Cookies zugreifen.

Wenn es auf Cookies zugreifen kann, dann kann es auf aktive Sitzungen zugreifen.

Wenn es auf aktive Sitzungen zugreifen kann, kann es sich bei Websites, bei denen Sie angemeldet sind, als Sie anmelden, zumindest lange genug, um Passwörter oder andere Verwüstungen zu ändern.

Symantec hat gesagt, dass 80 % der Internet-Schwachstellen auf XSS zurückzuführen sind.

XSS unterscheidet sich von, ist aber im Geiste ähnlich wie SQL-Injection. SQL-Injection ist, wenn SQL-Befehle nicht aus Eingaben bereinigt werden und somit bösartige Dinge mit einer Datenbank anstellen können. Die Verwendung von HTTPS kann weder bei XSS noch bei SQL-Injection helfen. HTTPS schützt nur Daten während der Übertragung über Netzwerke.

Ich bin kein Sicherheitsexperte, ich verbreite nur die Botschaft: Lasst uns diese Eingaben bereinigen, Leute! Hier ist ein Anfang.

Wenn Sie noch etwas hinzuzufügen haben oder denken, ich liege komplett falsch, dann legen Sie los!