Angriffsziel
|
Erläuterungen
|
---|---|
Bei einer SQL-Injection sendet der Angreifer Verbindungsanfragen an den Webserver, wobei die Anfrage-Parameter mit SQL-Steuerzeichen versehen sind. Fängt die Webanwendung diese Steuerzeichen nicht ab, sondern sendet sie als Teil einer SQL-Abfrage an die Datenbank, kann der Angreifer entweder für ihn auf herkömmlichem Weg nicht zugängliche Daten auslesen oder Daten verändern.
|
|
Login-Daten sowie generierte Passwörter sind nicht über das Internet zu versenden, sondern dem Nutzer die Möglichkeit zu geben, ein Passwort zu generieren.
Passwörter sollten qualitativ hochwertig sein. Session-IDs sollten gewechselt werden, beispielsweise nach der Änderung der Zugriffsrechte, um Session-Fixation-Angriffe zu verhindern. |
|
Cross Site Scripting/
A3 Cross-Site Scripting (XSS) |
Hinter der Bezeichnung Cross-Site Scripting (XSS) verbergen sich grundsätzlich verschiedene Angriffe. Beim clientseitigen XSS schleust der Angreifer HTML-Steuerzeichen und Code einer clientseitigen Skriptsprache, wie z. B. JavaScript, in eine Webseite ein, die in dem Webbrowser des Opfers ausgeführt wird.
Dieser Angriff nutzt dabei Sicherheitslücken bei der lokalen Ausführung der Skripte aus oder leitet eine Cross-Site Request Forgery ein. |
Lücken bei der Konfiguration sind zu schießen, insbesondere bei dem Vorhandensein nicht privilegierter und privilegierte Seiten. Die Zugriffsrechte sind zu überprüfen und die IDs nicht im Klartext zu übertragen.
|
|
Vermeiden Sie Fehlkonfigurationen, z.B. durch die Verwendung von Standard-Installationen, bei denen mehr Dienste und Rechte bereitgestellt werden als benötigt werden. "Härten" Sie das System durch Abschalten nicht benötigter Dienste.
|
|
Seiten, die nicht direkt verlinkt sind, sind nicht bereitzustellen.
|
|
Trotz verschlüsselter Übertragungswege sind Passwörter umfassend zu verschlüsseln. Werden hierzu Hash-Algorithmen verwendet, so sind sie noch zu "salzen". Dabei wird an das verschlüsselte Passwort noch eine Zeichenkette angehängt.
|
|
Cross Site Forgery/
A8 Cross-Site Request Forgery (CSRF) |
Cross-Site-Request-Forgery setzen eine bestehende Session zwischen dem Benutzer und der Webanwendung voraus. Dabei versucht der Angreifer über verschiedene Techniken (ggf. XSS) den Benutzer oder über ein clientseitiges Script auch direkt den Browser zum Aufruf einer manipulierten URL zu bewegen. Anders als beim Session-Hijacking erlangt der Angreifer selbst aber keine Kenntnis von der Session-ID, da der Angriff ausschließlich im Browser des Benutzers stattfindet.
|
Transportschicht/
A9 Using Components with Known Vulnerabilities |
Das HTTP-Protokoll ist möglichst gegen das sichere HTTPS-Protokoll auszutauschen. Dabei ist darauf zu achten, dass insbesondere die Session-ID nie dem Angreifer in die Hände gespielt wird. Dies ist insbesondere bei dem Einsatz von beiden Protokollen zu beachten.
Auch ist die Verwendung von gültigen Zertifikaten sicherzustellen. |
Weiterleitungen/
A10 Unvalidated Redirects and Forwards |
Automatisierte Weiterleitungen von Benutzern sind gängige Praxis bei vielen Websites. Diese Links können von Dritten leicht missbraucht werden. Deshalb sollten möglichst nur relative Links oder andere Techniken zum Einsatz kommen (ID-Werte, Bezeichner in Links), die den Redirect gegen Manipulation absichern.
|