30.12.2013 Aufrufe

Uberblick Websecurity - Albert-Ludwigs-Universität Freiburg

Uberblick Websecurity - Albert-Ludwigs-Universität Freiburg

Uberblick Websecurity - Albert-Ludwigs-Universität Freiburg

MEHR ANZEIGEN
WENIGER ANZEIGEN

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.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!