Das Prinzip besteht darin, dass bei dem Durchlaufen einer Internetseite ein Schadprogramm in das Zielsystem eingeschleust wird. Die Methoden sind unterschiedlich. Der Angreifer verändert oder platziert eine Internetseite, die sich aktiv auf ein Plug-In im Webbrowser richtet. Ebenso kann eine Schwachstelle im Browser selbst ausgenutzt werden, um die Schadsoftware eindringen zu lassen.
Verwendet werden gerne clientseitige Scripts, wie JavaScript oder VBScript. Das Verhalten dieser ist allerdings unterschiedlich. Eine Möglichkeit ist eine SQL Injektion. Diese wird meist bei einer legitimen Webseite durchgeführt. Auf diese Weise wird das Datenbanksystem dazu gebracht sensible Informationen dem Endbenutzer zurückzugeben. Das können Kennwörter, Login-Daten sein oder vielmehr sogar teils sogar die ganze Datenbank. Doch wie gelangt diese auf das System?
Die Software verarbeitet beispielsweise an einer Stelle einen String nicht korrekt, der einen SQL Befehl führt. Steuerzeichen werden nicht gefiltert, bzw. Aussortiert, sondern fließen komplett mit in die Verarbeitung mit ein. Was ich damit sagen will ist, dass über ein Parameter ein SQL Befehl entsprechend erweitert werden kann. Mit dem Semikolon kann einfach ein neuer Befehl angefügt werden. Werden diese vom Benutzer übergebenen Parameter nicht überprüft, so kann ein Angreifer direkt einen eigenen Befehl absetzen.
Weiter ist es möglich eine URL über Spam zu verbreiten. Je mehr, desto besser, ein Benutzer wird schon drauf klicken. Es passiert immer wieder und viele Leute lassen sich durch Fake-Mails hinter das Licht führen. Ebenso ist es möglich diese Exploits in Ad‘s, die ausgeführt werden anzuhängen.
Jedoch sind Script nicht nur das A und O sich etwas Unangenehmes einzufangen. Auch eine Umleitung in einem iframe kann den Benutzer auf eine Schadseite locken. Diese wird direkt durch die Ursprungsseite geladen. Dieser Vorgang lässt sich nicht so ohne weiteres überblicken. Ebenso kann damit für jeden Browser selbst eine entsprechende Attacke formuliert werden, damit möglichst viele Computer ins Netz gehen.