Uberblick Websecurity - Albert-Ludwigs-Universität Freiburg
Uberblick Websecurity - Albert-Ludwigs-Universität Freiburg
Uberblick Websecurity - Albert-Ludwigs-Universität Freiburg
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
4 Jennifer Nist<br />
Authentifizierung und die Autorisierung rollenbasiert zu gestalten, um den Verwaltungsaufwand<br />
möglichst klein zu halten. Eine mögliche Rollenverteilung wäre dabei zum Beispiel ”<br />
Gast“(keine,<br />
oder nur Leserechte), ”<br />
registrierter Benutzer“(Lese- und Schreibrechte) und ”<br />
Administratoren“(alle<br />
Rechte: lesen, schreiben, löschen... usw.). Bei der Authentifizierung wird die Identität des Nutzers<br />
festgestellt. Bei der Autorisation wird die Berechtigung für bestimmte Aktionen überprüft und<br />
festgelegt. Abbildung 1 veranschaulicht die Beziehung zwischen Authentifikation und Autorisierung<br />
in Anwendungen.<br />
Abbildung 1. Beziehung zwischen Authentifikation und Autorisation in Anwendungen:<br />
[8]<br />
Eine Möglichkeit diesen Schutz zu implementieren wäre es, die Überprüfung serverseitig im Source-<br />
Code jeder Datei zu definieren. So könnte der Entwickler der Anwendung zum Beispiel eine Funktion<br />
check permissions() implementieren, die jeden Zugriff auf diese PHP-Datei zuerst auf Zugriffsberechtigung<br />
überprüft:<br />
<br />
[9] [10]<br />
2.4 Cross-Site Scripting (XSS)<br />
XSS-Angriffe sind nur in dynamischen Webanwendungen möglich. Eine Webanwendung ist dynamisch,<br />
wenn diese auf Interaktion des Benutzers reagiert. Eine Schwachstelle entsteht, wenn die<br />
Anwendung nicht vertrauenswürdige Daten vom Benutzer entgegen nimmt und ihm diese zurück<br />
gibt, jedoch nicht ausreichend validiert, zum Beispiel nicht auf unerwünschte Eingaben überprüft.<br />
Diese sind oft Metazeichen. Diese Metazeichen stehen innerhalb eines bestimmten Kontextes, zum<br />
Beispiel in einem HTML-Quellcode, nicht für sich selbst, sondern haben eine besondere Bedeutung.<br />
Sie könnten daher dazu führen, dass die (eventuell bösartige) Eingabe eines Benutzers nicht als<br />
reiner Text interpretiert wird, sondern als aktiver Inhalt, der möglicherweise ausführbar ist.<br />
Beispiel für Metazeichen:<br />
Der Text ”<br />
“besteht in der Zusammensetzung aus zwei spitzen<br />
Klammern und Attributen. Jedoch steht die Zeichenfolge im Kontext einer HTML-Seite für den<br />
Beginn eines ausführbaren Inhaltes der Sprache JavaScript. Der darauf folgende Text wird solange<br />
als JavaScript interpretiert, bis der Abschnitt durch das Tag geschlossen wird. Wenn<br />
die Benutzereingaben nicht auf solche Metazeichen hin überprüft werden, ist es für den Angreifer<br />
möglich, nahezu beliebigen Schadcode auszuführen.