Sichere Benutzungsoberfläche
Das Problem mit Web-Anwendungen ist, dass Sie möchten, dass Benutzer Ihre Seite aufrufen und mit der Anwendung interagieren. Nimmt der Benutzer unerwartete Einträge (z.B. Skriptbefehle) vor, die von der Anwendung nicht richtig verarbeitet werden können, kann ein Angreifer den Server oder Client/Browser zum Ausführen ungewollter Aktionen veranlassen.
Daher lautet die erste Regel für das Entwickeln einer sicheren Web-Anwendung: “Vertrauen Sie niemals von außen kommenden Informationen und machen Sie keine Annahmen dazu.” Alle sicherheitsbezogenen Entscheidungen beruhen auf der zugrunde liegenden Annahme, dass theoretisch alles durch jemanden manipuliert werden kann oder etwas tatsächlich manipuliert wird. Nimmt ein Angreifer beispielsweise Einträge wie manipulierte SQL-Anweisungen vor und die Anwendung filtert die Einträge nicht, kann die interne Datenbank für einen Angreifer zugänglich gemacht werden (SQL-Code-Injection).
Die folgenden Abschnitte beschreiben Beispiele verschiedener Schwachstellen in Web-Anwendungen und stellen dar, wie diesen durch sicheres Programmieren vorgebeugt werden kann. Siehe:
● Cross-Site Scripting (XSS)sapurl_link_0001_0001_0007
● SQL-Injectionsapurl_link_0001_0002_0007
● Eingabevalidierungsapurl_link_0001_0003_0007
● Kanonisierungsapurl_link_0001_0004_0007
● Verzeichnistraversalsapurl_link_0001_0005_0007
● URL-Kodierung und -Manipulierungsapurl_link_0001_0006_0007
● Cookie-Manipulierungsapurl_link_0001_0007_0007