Cross-Site Scripting und SQL-Injection

Web-Seiten sind leichter angreifbar, als man meinen möchte. Opfer können dabei sowohl der Betreiber der Webseite als auch deren Benutzer sein. Dabei ist ein Schutz vor den gängigsten Angriffen relativ leicht möglich.

Cross-Site Scripting (CSS oder XSS) ist ein Angriffsverfahren, bei dem der Angreifer den Benutzer einer anderen Webseite aushorchen will. Im Wesentlichen wird der Angreifer dabei dem anderen Benutzer vorgaukeln, er sähe Inhalte der Webseite, die er gerade besucht, obwohl der Angreifer diese Inhalte hergestellt hat. Letztere können natürlich auch JavaScript oder Elemente von anderen Sprachen enthalten - dadurch kann der Angreifer an Informationen gelangen, die der Angegriffene nicht freiwillig herausgegeben hätte.

Beim XSS geht es nicht um eine Möglichkeit, in einen Server einzubrechen, sondern ausdrücklich darum, einen anderen Benutzer einer Webseite anzugreifen. Dabei muss auch nicht ausdrücklich irgendeine Art von Scripting verwendet werden, und auch das "Cross-Site" ist nicht unbedingt notwendig - der Name für diesen Angriffsvektor ist also missverständlich.

Zunächst gilt es, eines klarzustellen: Beim Cross-Site Scripting handelt es sich nicht um ein Problem eines spezifischen Browsers oder Servers. Um genau zu sein, ist es noch nicht einmal ein Problem, das man klar der Server- oder Client-Seite einer Internet-Sitzung zuordnen kann: Vielmehr handelt es sich beim XSS um ein wirklich plattformübergreifendes Problem, das aus nicht vorhergesehenen Interaktionen zwischen komplexen, vernetzten Systemen resultiert.

Außerdem ist XSS - das auch gerne mit CSS abgekürzt wird - nicht mit den "Cascading Style Sheets" zu verwechseln, bei denen es sich um eine Formatierungssprache für Webseiten handelt. Um diese Begriffsverwirrung zu vermeiden, wird die Angriffsart an dieser Stelle mit XSS und nicht mit CSS abgekürzt.