Uberblick Websecurity - Albert-Ludwigs-Universität Freiburg
Uberblick Websecurity - Albert-Ludwigs-Universität Freiburg
Uberblick Websecurity - Albert-Ludwigs-Universität Freiburg
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Angriffe auf die Internetprotokollfamilie und IP-Sicherheit<br />
Thema: Überblick <strong>Websecurity</strong><br />
Jennifer Nist<br />
nistj@informatik.uni-freiburg.de<br />
Proseminar am Lehrstuhl für Kommunikationssystem<br />
<strong>Albert</strong>-<strong>Ludwigs</strong>-<strong>Universität</strong> <strong>Freiburg</strong><br />
Zusammenfassung Die Sicherheit von Webanwendungen ist nicht einfach zu garantieren.<br />
Oftmals ist sie auch gar nicht, wenig oder mäßig vorhanden. Es folgt ein Überblick, wie einfach<br />
es Angreifer oft haben, die Schwachstellen verschiedener Webanwendungen auszunutzen,<br />
und welche Auswirkungen dies haben kann.<br />
1 Einleitung<br />
Der Grund für jede Sicherheitslücke sind menschliche Fehler. Sicherheitslücken werden oft zufällig<br />
entdeckt oder vorsätzlich gesucht und ausgenutzt. Einige wollen auf Sicherheitslücken aufmerksam<br />
machen, wie z.B. der deutsche Chaos Computer Club (CCC). Auf einen anonymen Hinweis hin<br />
überprüften sie 2011 die Webserver der Bundesfinanzagentur, welche online den Handel mit Staatsanleihen<br />
anbot. Dabei wurden gravierende Sicherheitslücken, von denen auch das Internet-Banking<br />
der Bundesfinanzagentur betroffen war, entdeckt.<br />
[1]<br />
2 Übersicht<br />
Im folgenden werden 4 der 10 häufigsten Sicherheitsrisiken für Webanwendungen erläutert. Diese<br />
wurden von der OWASP (The Open Web Application Security Project) zusammengestellt und<br />
bewertet.<br />
2.1 Unsichere direkte Objektreferenzen (Insecure Direct Object References)<br />
In Webanwendungen werden häufig Objektreferenzen verwendet. Dies sind Zeiger, beispielsweise<br />
eine URL, die auf Objekte, zum Beispiel auf Dateien, Verzeichnisse oder Datenbankeinträge, verweisen.<br />
Wenn diese Referenzen von einem Angreifer so manipulierbar sind, dass dieser unautorisiert<br />
auf Dateien und Inhalte zugreifen kann, so ist diese Objektreferenz unsicher.<br />
Beispiel<br />
Das Online-Interface einer Bank ist für jeden sichtbar. Registrierte Benutzer können, zusammen<br />
mit ihren Zugangsdaten, noch auf weitere Seiten, wie zum Beispiel Kontoübersicht, Kontobewegungen<br />
oder Aufträge zugreifen.<br />
Die URL eines eingeloggten Benutzers könnte lauten:<br />
https://www.online-bank.de/user?acc=4507<br />
Wenn nun die Anwendung nicht prüft, ob der Nutzer für den Zugriff auf ein Objekt autorisiert ist,<br />
so ist es möglich, durch Ausprobieren zu versuchen, Zugang zu anderen Konten zu erhalten.<br />
Die URL könnte wie folgt verändert werden:<br />
https://www.online-bank.de/user?acc=4508<br />
Der Angreifer würde dadurch unautorisiert Zugriff auf die Daten eines anderen Kontoinhabers<br />
erhalten.
2 Jennifer Nist<br />
Wie kann man sich vor diesem Angriff schützen?<br />
Für jede direkte Referenz, auf die ein Benutzer zugreifen könnte, muss von der Anwendung geprüft<br />
werden, ob dieser autorisiert ist, auf das entsprechende Objekt der Referenz zuzugreifen.<br />
Eine andere Möglichkeit besteht darin, stattdessen indirekte Objektreferenzen zu verwenden. Dabei<br />
ist, zum Beispiel in einer Datenbankanwendung, nicht der echte Datenbankindex die Referenz<br />
für das Objekt, sondern ein Schlüssel, zum Beispiel eine Folge von Ziffern. Ein System für die<br />
Zuteilung solcher Schlüsselwörter wäre zum Beispiel die für den Nutzer verfügbaren Objekte zu<br />
nummerieren oder ihnen eine beliebige Zahl zuzuordnen. Die Anwendung ist für die Zuordnung<br />
der indirekten Objektreferenzen (die Nummern) den echten Datenbankschlüsseln zuständig.<br />
In einem anderen Beispiel möchte die Webanwendung dem autorisierten Benutzer eine Datei zum<br />
Download zur Verfügung stellen. Angenommen, der verwendete Link zeigt direkt auf den Speicherort<br />
der Datei.<br />
http://www.beispiel.de/verzeichnis/datei.pdf<br />
Dann kann die Autorisierung nicht selbst durch die Webanwendung geprüft werden. Dies kann<br />
durch Absicherung durch .htaccess (eine serverseitige Technik zum Zugriffsschutz ganzer Verzeichnisse)<br />
realisiert werden oder durch die Verwendung einer indirekten URL. Eine solche URL könnte<br />
auf ein Skript zeigen, welches einen Parameter entgegen nimmt, der die zu downloadende Datei<br />
definiert und die Autorisierung für diese Datei überprüft.<br />
<br />
Ein solcher Aufruf sähe nun folgendermaßen aus:<br />
http://www.beispiel.de/download.php?file=datei.pdf<br />
Nur bei Bestehen dieser Prüfung wird der Inhalt der angefragten Datei dem Benutzer zurück<br />
gegeben. Kenntnis über den genauen Speicherort der Datei wird der Benutzer nie erhalten.<br />
[2] [3] [4]<br />
2.2 Sicherheitsrelevante Fehlkonfiguration (Security Misconfiguration)<br />
Bei jeder Webanwendung sollten die Entwickler und die Administratoren eng zusammenarbeiten,<br />
denn bei jeder Ebene der Webanwendung kann es durch Versäumnisse und Fehler zu sicherheitsrelevanter<br />
Fehlkonfiguration kommen. Die Ebenen einer Webanwendung sind: die physikalische<br />
Ebene (Personen mit Zugang zum Server), das Betriebssystem (z.B. Ubuntu), eine Datenbank<br />
(z.B. MySQL), einen Interpreter (z.B. PHP), der Webserver (z.B. Apache), ein Framework (z.B.<br />
Ruby on Rails) und die Applikation (z.B. TYPO3). Jede dieser Ebenen könnte durch Fehlkonfiguration<br />
Sicherheitslücken aufweisen.<br />
Beispiel<br />
In einem vorstellbaren Angriffsszenario wurde in der Anwendung ein Sicherheitslücke entdeckt und<br />
ein Update veröffentlicht um den Fehler zu beheben. Solange das Update jedoch noch nicht eingespielt<br />
wurde, könnten Angreifer diese Sicherheitslücke ausnutzen.<br />
Ein anderer häufiger Fehler ist es, ein automatisch installiertes Standard-Konto, zum Beispiel des<br />
Administrators, nicht zu ändern. Angreifer könnten dies entdecken und sich dadurch Zugang zum<br />
System verschaffen.
Angriffe auf die Internetprotokollfamilie und IP-Sicherheit (Praxis-Proseminar - WS12/13) 3<br />
Wie kann man sich vor diesem Angriff schützen?<br />
Ein wichtiger Prozess um die Sicherheit zu erhöhen, ist das sogenannte ”<br />
Härten“. Darunter versteht<br />
man verschiedene Methoden, die es einem Angreifer erschweren, Sicherheitslücken zu finden. Die<br />
Ziele und deren Umsetzung sind dabei folgende:<br />
• Man sollte einem Angreifer möglichst wenige Ziele für eine Attacke bieten, wie zum Beispiel<br />
indem man nicht benötigte Software oder deren Komponenten deaktiviert oder entfernt und<br />
nicht benötigte Benutzerkonten löscht. Wichtig ist es auch, die Kommunikation (zum Beispiel<br />
Datenübertragung) grundsätzlich zu verschlüsseln.<br />
• Wenn einem Angreifer die Attacke gelungen ist, sollte er keine nützlichen Werkzeuge, oder<br />
vollen Zugriff auf das System zur Verfügung haben. Wichtig hierfür ist zum Beispiel, dass die<br />
Benutzerkonten, die zur Ausführung von Serverprozessen verwendet werden, nur die notwendigen<br />
Rechte haben. Außerdem sollten die Rechte des Dateisystems gut durchdacht sein.<br />
• Der Härtungsprozess sollte wiederholbar und zum Beispiel durch Skripte automatisiert sein.<br />
Wenn möglich sollte dabei die Komplexität und damit der Wartungsaufwand minimiert werden.<br />
Durch diese Maßnahmen kann man die Wahrscheinlichkeit von Fehlkonfigurationen senken.<br />
Außerdem ist es wichtig ausgereifte Software mit gutem und schnellem Support für Fixes zu verwenden.<br />
Ebenso sollte man bekannt gewordene Sicherheitsprobleme so schnell wie möglich beheben<br />
und das zugehörige Update installieren, sobald es zur Verfügung steht. Nicht zu unterschätzen ist<br />
die menschliche Ebene. Es sollte mit Bedacht ausgesucht werden, wem physikalischer Zugang zum<br />
Server gewährt wird. Webanwendungen müssen regelmäßig auf Fehlkonfigurationen oder fehlende<br />
Updates kontrolliert werden.<br />
[5] [6] [7]<br />
2.3 Mangelhafter URL-Zugriffsschutz (Failure to Restrict URL Access)<br />
Zugriffsberechtigungen sollten klar definiert sein. Dennoch ist der Zugriff auf URLs nicht immer<br />
verlässlich abgesichert.<br />
Es kommt vor, dass die Entwickler keine notwendige Prüfung der Rechte implementieren oder<br />
lediglich jedem Benutzer nur die Links, Navigationselemente oder Buttons anzeigen, für die er berechtigt<br />
ist, auf diese zuzugreifen. Es wird davon aus gegangen, dass der Benutzer nur die Verweise<br />
nutzt, für die er autorisiert ist. Da diese Adressen dennoch existieren und beim direkten Aufruf<br />
auf die vermeintlich geschützten URLs keine Prüfung der Zugriffsberechtigung stattfindet, könnte<br />
jeder auf diese zugreifen.<br />
Im Gegensatz zu den unsicheren direkten Objektreferenzen ist es möglich, direkt auf die Inhalte<br />
zuzugreifen und dabei die Authentifizierung zu umgehen.<br />
Beispiel<br />
Wenn eine Webanwendung nur beim Zugriff auf ihre Login-Seite, zum Beispiel http://beispiel.de/login/,<br />
die Authentifizierung des Benutzers überprüft, jedoch nicht auf ihren Unterseiten, ist auf diese ein<br />
unerlaubter Zugriff möglich. Das könnte diese Subseite sein:<br />
http://www.beispiel.de/login/info.php<br />
Diese URL könnte möglicherweise erraten oder von einem unvorsichtigen Kollegen als Link verschickt<br />
worden sein.<br />
Es könnte auch sein, dass ein angemeldeter Benutzer auf eine URL zugreifen kann, die normalerweise<br />
administrative Rechte erfordert. In diesem Fall könnte die URL den Benutzer auf andere<br />
mangelhaft geschützte administrative Seiten führen. Auch in diesem Fall könnte die URL erraten<br />
worden sein:<br />
http://www.beispiel.de/login/admin info.php<br />
Wie kann man sich vor diesem Angriff schützen?<br />
Um den URL-Zugriffsschutz zu sichern, muss jede einzelne Seite prüfen, ob es für den Zugriff auf<br />
diese erforderlich ist, sich anzumelden (Prüfung der Authentifizierung), und ob der (angemeldete)<br />
Benutzer die notwendigen Rechte hat (Prüfung der Autorisierung). Dabei ist es von Vorteil die
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.
Angriffe auf die Internetprotokollfamilie und IP-Sicherheit (Praxis-Proseminar - WS12/13) 5<br />
Es gibt drei verschiedene Typen von XSS-Schwachstellen: nicht-persistent bzw. reflektiert, persistent<br />
und DOM-basiert.<br />
Reflektiert: Bei einem reflektierten XSS-Angriff wird das Skript, welches Schadcode enthält, nach<br />
einer Benutzereingabe direkt vom Server zurück gesendet (reflektiert). Da das Skript von einem<br />
bekannten und ”<br />
sicheren“Server kommt, führt der Browser des Benutzers das Skript aus.<br />
Beispiel<br />
Eine Website hat eine Suchfunktion. Der gesuchte Begriff wird dabei in der Ergebnisliste nochmals<br />
ausgegeben (Reflektion des Servers). Die Anfrage an den Server könnte dabei zum Beispiel so aussehen:<br />
http://beispiel.de/index.php?suche=Suchbegriff<br />
Die Zeichenkette ”<br />
Suchbegriff“wird vom Webserver ungeprüft in den Quelltext der Ausgabe eingebaut.<br />
Jedoch könnte anstatt eines Suchbegriffes beispielsweise auch folgende Zeichenkette eingegeben<br />
werden:<br />
http://beispiel.de/index.php?suche=alert(“XSS“)<br />
Dieser Code wird nun unverändert in den Quellcode der Seite integriert und ausgeführt. Sofern die<br />
Anwendung den Angriff nicht erkennt, könnte beliebiger Schadcode eingeschleust werden. Versendet<br />
man diese URL zu der vermeintlich harmlosen Suchanfrage, so glaubt sich der Empfänger in<br />
Sicherheit, da er eine vertrauenswürdige URL aufruft, diese jedoch durch die XSS-Schwachstelle<br />
der Webanwendung Schadcode ausführt.<br />
Persistent: Eine persistente XSS-Schwachstelle könnte zum Beispiel in einem Gästebuch vorhanden<br />
sein. Jeder Eintrag in das Gästebuch wird vom Server zwischengespeichert, zum Beispiel in<br />
einer Datenbank. Fügt nun ein Angreifer Schadcode in seinen Gästebucheintrag ein, speichert das<br />
Gästebuch diesen in der Datenbank. Dadurch wird jeder zum Opfer, der auf diese gespeicherte<br />
Information zugreift. Denn jeder Besucher, der diese Seite aufruft, um das Gästebuch zu lesen,<br />
würde das Skript mit dem Schadcode auf seinem Computer ausführen.<br />
Beispiel<br />
<br />
a l e r t (” A n g r i f f ! ! ” ) ;<br />
<br />
Diese Eingabe könnte zum Beispiel in einem Gästebuch, bei unzureichender Prüfung auf Sonderzeichen,<br />
dazu führen, dass eine Meldung mit dem Text ”<br />
Angriff!!“im Browser erscheint. In einem<br />
anderen Fall könnte das Skript auch unsichtbar sein und Malware enthalten oder den Benutzer auf<br />
eine Phishing-Site umleiten.<br />
Der Angreifer könnte auch durch ein im Hintergrund laufendes Skript sich die Session-ID des<br />
Benutzers schicken lassen und damit die aktuelle Session übernehmen und so Zugriff auf das Benutzerkonto<br />
des Benutzers erlangen.<br />
Ein weiteres Beispiel für eine persistente XSS-Schwachstelle ist in Abbildung 2 zu sehen.<br />
• Der Angreifer schleust ein Skript ein. Dieses wird von der serverseitigen Prüfung nicht erkannt<br />
und vom Webserver in die Datenbank geschrieben.<br />
• Sobald ein Benutzer die betreffende Seite aufruft, wird das Skript lokal ausgeführt. Es leitet<br />
den Benutzer auf eine zuvor vom Angreifer manipulierte oder erstellte Seite um, ohne dass<br />
dieser etwas davon merkt.<br />
• Der Angreifer könnte auf dieser Seite zum Beispiel eine Fehlermeldung anzeigen lassen, die<br />
eine erneute Anmeldung des Benutzers auf der Seite www.betreiber.de, oder der Eingabe der<br />
Bankdaten, erfordert. So könnte das Skript jede Eingabe des Benutzers an den Angreifer weiterleiten.
6 Jennifer Nist<br />
Abbildung 2. Beispiel einer persistenten XSS-Schwachstelle:<br />
[11]<br />
Dom-basiert: DOM steht für Document Object Model und ist eine Schnittstelle zur browserunabhängigen<br />
Interpretation von HTML- und XML-Daten. Diese erfolgt benutzerseitig durch den<br />
Webbrowser. Der DOM-basierte XSS-Angriff nutzt, im Gegensatz zu den beiden anderen XSS-<br />
Angriffen, welche sich auf die serverseitige Erzeugung von dynamischen Webseiten stützten, die<br />
benutzerseitige Interpretation von Benutzereingaben.<br />
Beispiel<br />
Ein Benutzer macht eine Eingabe in eine Webanwendung. Diese Eingabe wird benutzerseitig durch<br />
eine Skriptsprache, wie etwa JavaScript, aus der URL als Argument ausgelesen:<br />
http://beispiel.de/datei.html?arg=Argument<br />
Dieses Argument wird in das betreffende HTML-Dokument eingefügt. Wenn dies ungeprüft geschieht,<br />
so kann die aufrufende URL manipuliert und an potentielle Opfer als harmloser Link<br />
verschickt werden.<br />
http://beispiel.de/datei.html?arg=alert(“XSS“)<br />
Wie kann man sich vor diesem Angriff schützen?<br />
Grundsätzlich sind Benutzereingaben nie vertrauenswürdig. Daher sollte jede Eingabe serverseitig<br />
geprüft werden. Dabei ist es meistens von Vorteil Whitelist zu benutzen. Bei dieser Methode werden<br />
nur solche Eingaben zugelassen, die auf der Liste stehen. Eine andere Methode ist die eine Blacklist<br />
zu führen. Dabei werden, im Gegensatz zu der Whitelist, die Eingaben die auf der Liste stehen<br />
nicht zugelassen. Eine Blacklist ist sinnvoller, wenn die Anzahl der erlaubten Eingaben zu hoch ist<br />
um sie auf eine Liste einzutragen. Jedoch sind Whitelists theoretisch die sicherere Wahl, da ständig<br />
neuere und komplexere Angriffsmethoden entwickelt werden, die zuvor noch nicht absehbar waren.<br />
Möchte der Benutzer nun ein Code-Beispiel in das Gästebuch schreiben, müssen Metazeichen als<br />
solche maskiert (escaped) und damit als normale Zeichen markiert werden. Bei der Maskierung<br />
wird dem Metazeichen ein bestimmtes Zeichen voran gestellt oder es komplett ersetzt, damit der<br />
Interpreter dies als eine Zeichenrepräsentation erkennt und nicht als Metazeichen interpretiert.<br />
Beispielsweise ersetzt man beim escapen von HTML-Code das Metazeichen ”<br />
Angriffe auf die Internetprotokollfamilie und IP-Sicherheit (Praxis-Proseminar - WS12/13) 7<br />
bevor sie akzeptiert wird.<br />
Eine recht zuverlässige Möglichkeit, sich als Benutzer vor XSS-Angriffen zu schützen, ist es, die<br />
JavaScript-Unterstützung im Browser zu deaktivieren. Allerdings schützt dies nur gegen XSS-<br />
Angriffe, die auch mit JavaScript arbeiten.<br />
[12] [13]<br />
3 Schlussbemerkung<br />
Einer der wichtigsten Leitsätze, die Entwickler berücksichtigen sollten, wenn sie Web-Anwendungen<br />
vor Angriffen schützen möchten, lautet: ”<br />
Traue NIE Benutzereingaben.“Denn wenn es die Möglichkeit<br />
für eine bösartige Eingabe gibt, sollte davon ausgegangen werden, dass es geschieht.<br />
Für Anwender gilt es wachsam zu sein und persönliche Daten nicht blind Preis zu geben. Wenn<br />
eine Anwendung zum Beispiel plötzlich nach der Kreditkartennummer fragt, sollte der Nutzer misstrauisch<br />
werden.<br />
Für beide, Anwender und Entwickler, bedeutet das, immer die aktuellste Software zu verwenden<br />
und über die neuesten Techniken der Angreifer informiert zu sein. Ist eine Sicherheitslücke schon<br />
lange bekannt und behoben, sollte der Patch auch installiert werden. Nur wer seine Software auf<br />
dem neuesten Stand hält und sich regelmäßig über neue Angriffstechniken informiert, kann sich<br />
gegen diese schützen.<br />
In Zukunft werden die Angriffe auf Webanwendungen und auch deren Absicherung immer aufwändiger<br />
werden. Die Schwachstellen können in Unmengen von Code versteckt sein, was die Suche nach<br />
ihnen und deren Prävention komplex und zeitaufwändig gestaltet. Selbst wenn eine Anwendung<br />
nach dem neuesten Stand der Technik sicher ist, könnte ein Angreifer schon einen neuen Weg<br />
gefunden haben einen Angriff durchzuführen.<br />
Literatur<br />
1. CCC: Chaos computer club weist auf ernste sicherheitslücken bei der bundesfinanzagentur hin. WWW-<br />
Dokument, http://www.ccc.de/de/updates/2011/bundesfinanzagentur (2011) [Online, letzter Aufruf<br />
10.02.2013].<br />
2. OWASP: Owasp top 10 - 2010. PDF-Dokument, pp. 6,10, https://www.owasp.org/images/b/b8/<br />
OWASPTop10_DE_Version_1_0.pdf (2010) [Online, letzter Aufruf 10.02.2013].<br />
3. Jellinek, B.: Unsichere direkte objektreferenzen. WWW-Dokument, http://web-development.<br />
github.com/security/a4-referenz/ (2012) [Online, letzter Aufruf 10.02.2013].<br />
4. AQUANTM: Web application security (teil 4). WWW-Dokument, http://www.aquantum.de/2011/<br />
01/24/web-application-security-teil-4/ (2011) [Online, letzter Aufruf 10.02.2013].<br />
5. OWASP: Owasp top 10 - 2010. PDF-Dokument, pp. 6,12, https://www.owasp.org/images/b/b8/<br />
OWASPTop10_DE_Version_1_0.pdf (2010) [Online, letzter Aufruf 10.02.2013].<br />
6. Jellinek, B.: Sicherheitsrelevante fehlkonfiguration. WWW-Dokument, http://web-development.<br />
github.com/security/a6-konfiguration/ (2012) [Online, letzter Aufruf 10.02.2013].<br />
7. Wikipedia: Härten (computer). WWW-Dokument, http://de.wikipedia.org/wiki/H%C3%A4rten_<br />
%28Computer%29 (2013) [Online, letzter Aufruf 10.02.2013].<br />
8. koirala, S.: Authentication and authorization. WWW-Grafik, http://www.codeproject.<br />
com/Articles/98950/ASP-NET-authentication-and-authorization (2010) [Online, letzter Aufruf<br />
10.02.2013].<br />
9. OWASP: Owasp top 10 - 2010. PDF-Dokument, pp. 6,14, https://www.owasp.org/images/b/b8/<br />
OWASPTop10_DE_Version_1_0.pdf (2010) [Online, letzter Aufruf 10.02.2013].<br />
10. Jellinek, B.: Mangelhafter url-zugriffsschutz. WWW-Dokument, http://web-development.github.<br />
com/security/a8-url/ (2012) [Online, letzter Aufruf 10.02.2013].<br />
11. Wikipedia: Cross-site-scripting). WWW-Dokument, http://de.wikipedia.org/wiki/<br />
Cross-Site-Scripting (2013) [Online, letzter Aufruf 10.02.2013].<br />
12. OWASP: Owasp top 10 - 2010. PDF-Dokument, pp. 6,8, https://www.owasp.org/images/b/b8/<br />
OWASPTop10_DE_Version_1_0.pdf (2010) [Online, letzter Aufruf 10.02.2013].<br />
13. Wirtschaftsinformatik, W.F.S.: Sicherheit von webanwendungen. WWW-Grafik, http://<br />
wiki.fh-stralsund.de/index.php/Sicherheit_von_Webanwendungen (2009) [Online, letzter Aufruf<br />
10.02.2013].