Risiken der Webanwendungen
So nützlich Webanwendungen auch sein können, bringen sie trotzdem auch eine große Zahl an Risiken mit sich. Um sich vor Angriffen zu schützen muss in erster Linie darauf geachtet werden, dass Sicherheitslücken schon von Anfang an vermieden werden.
Risiken bestehen vor allem darin, dass Angreifer Daten ansehen oder sogar verändern können. Bei einer SQL-Injection zum Beispiel werden Verbindungsanfragen von dem Angreifer an den Webserver gesendet, hierbei sind die Parameter der Anfrage mit SQL.Steuerzeichen versehen. Wenn die Webanwendung diese Steuerzeichen als Teil einer SQL-Abfrage an die Datenbank weitersendet und sie nicht, wie eigentlich vorgesehen, vorher abfängt, hat der Angreifer freien Zugriff auf alle Daten und kann sie nach Belieben ansehen und verändern.
Ein weiteres Risiko stellt das sogenannte Cross-Site Skripting dar, das aus zwei verschiedenen Angriffen besteht. Während des clientseitigen Cross-Site Skripting werden HTML-Steuerzeichen und der Code einer clientseitigen Skriptsprache von dem Angreifer in eine Webseite eingeschleust, die schließlich in dem Webbrowser ausgeführt werden. EIn solcher Angriff ist jedoch nur möglich, wenn bei der lokalen Ausführung der Skripte Sicherheitslücken bestehen. Bei einem serverseitigen Cross-Site Skripting dagegen werden manipulierte Informationen in eine auf dem Webserver ausgeführte Skriptsprache eingeschleust. Dies führt dazu, dass vom Benutzer nicht vorgesehene Dateien ausgeführt werden. Wenn eine Session zwischen einem Benutzer und einer Webanwendung besteht kann es zudem zu einer Cross-Site Request Forgery kommen. Über verschiedene Techniken, häufig wird dafür das Cross-Site Skripting genutzt, versucht der Angreifer den Benutzer oder aber über ein clientseitiges Script den Browser selbst dazu zu bringen, eine manipulierte URL aufzurufen. Allerdings findet der Angriff nur im Browser des Benutzers statt, sodass der ANgreifer an die Session-ID nicht herankommt.
Auch die sogenannte E-Mail-Injektion kann zu einem großen Sicherheitsrisiko werden. Bei diesem Angriff manipuliert der Angreifer durch die EIngabe von Daten ein Kontaktformular. Die Nachricht wird daraufhin nicht an die vom Betreiber vorgesehenen Empfänger gesendet, stattdessen bekommen nun beliebige Empfänger beliebige E-Mails. Häufig wird diese Art des Angriffs zum Versenden von Spam E-Mails genutzt.
Auch Session-Hijacking ist eine weitverbreitete Möglichkeit des Angriffs. Die Identifikation eines Benutzers hängt einzig und alleine von der Webanwendung selbst ab. Eine Session-ID die mit jedem Request mit übermittelt wird, übernimmt diese Aufgabe. Wenn ein Angreifer die Session-ID des Benutzers entschlüsselt, kann er sich selbst als sein Opfer darstellen und hat schließlich Zugriff auf die jeweilige Webanwendung.
Nicht nur Angriffe, die die Webanwendungen direkt betreffen können ein Problem darstellen, auch im Umfeld der Anwendungen gibt es eine Vielzahl von Risiken. Bei einem MITM Angriff zum Beispiel versucht der Angreifer den Benutzer dazu zu bringen, eine Verbindung mit dem Rechner des Angreifers aufzubauen. Bekommt der Rechner eine Anfrage des Benutzers, gibt dieser eine Anfrage an den echten Webserver weiter und leitet die Antwort schließlich an den Benutzer weiter. Der Angreifer kann nun die Anfragen und Antworten der Webanwendung beliebig manipulieren.