![]() |
|
URL dieser Newsmeldung:
22.11.2007
About Security #132: XSS-Angriffe (2)Wie angekündigt geht es in dieser Folge weiter um einige typische
Angriffe über XSS. Als Beispiel für das in About Security #131
vorgestellte Austricksen von Passwortmanagern kann eine entsprechende
Schwachstelle
im Password-Safe von Firefox dienen, die im November 2006 bekannt wurde und
als
Bug 360493
in Mozillas Bugzilla geführt wird. Gelang es einem Angreifer, ein
Formular mit versteckten Feldern für die Zugangsdaten auf eine Seite
einzuschleusen, füllte Firefox die Formularfelder mit den zum Server
der Seite gehörenden Zugangsdaten aus, ohne auf das Ziel des Formulars
zu achten. Das interessante an dieser Schwachstelle ist, dass sie ohne den
Einsatz von JavaScript ausgenutzt werden konnte - reines HTML reicht. Eine
Beschreibung der inzwischen
offiziell behobenen
Schwachstelle samt Demonstration der Ausnutzung gibt es beim Entdecker
Chapin Information Services (CIS):
"CIS Finds Flaws in Firefox v2 Password Manager".
N E U ! Security aktuell Einschleusen falscher InformationenKommen wir nun zum altbekannten Einschleusen falscher Informationen. In Deutschland ist besonders eine Cross-Site-Scripting-Schwachstelle auf der offiziellen Seite der Bundesregierung bekannt geworden. Dort war im September 2006 zu lesen, dass Angela Merkel zurückgetreten sei. Die Schwachstelle wurde inzwischen behoben, so dass hier nicht weiter darauf eingegangen werden soll. Interessanter ist eine Schwachstelle auf der Seite der BBC, die Ende August 2006, gemeinsam mit einer entsprechenden Schwachstelle bei CBS News, zur Demonstration der Wirkung von Cross-Site-Scripting-Schwachstellen ausgenutzt wurde. Angeblich ernannte demnach US-Präsident George Bush einen 9-jährigen zum Chef des Information Security Departments. Ursprung der beiden Demonstrationen ist das russische Portal SecurityLab. Praktischerweise wurde die Schwachstelle bei der BBC bisher nicht behoben, so dass sie hier als Anschauungsmaterial dienen kann. Wer möchte, kann also hier nachlesen, dass der US-Präsident wirklich einen 9-jährigen zum Chef des Information Security Departments ernannt hat. Werfen wir einen Blick auf den zugehörigen Link:
Der Angriff erfolgt über den Wert für den Parameter
Ersetzt man die hexadezimal kodierten Zeichen durch ihre normalen Darstellungen (%22 steht für ", %3C steht für <, %3E für >, %20 für das Leerzeichen), ergibt das
Mit
Das nachgeladene Skript
Das ist eigentlich ganz simpel. Da fragt man sich, warum dieser Code nicht
direkt eingeschleust sondern stattdessen der Umweg über das Nachladen
gegangen wurde. Gegen ein direktes Einschleusen über die URL sprechen
2 Gründe: Erstens wird die URL dadurch sehr lang, je nach Länge
des einzuschleusenden Texts auch schnell zu lang für einen
GET-Request. So kann z.B. der Internet Explorer nur
2048 Byte
lange GET-Requests verarbeiten, und auch Webserver, Proxys usw. haben
eigene Beschränkungen. Der zweite Grund ist die unterschiedliche
Behandlung verschiedener URL-Bestandteile durch die Browser und
Webanwendungen. So werden z.B. von PHP bei aktivierter Option
magic_quotes_gpc ' und " durch vorangestellte \ maskiert, was eine
Ausführung des eingeschleusten JavaScript-Codes verhindert. Das
lässt sich zwar umgehen, indem der einzuschleusende Code Zeichen
für Zeichen in die entsprechenden Unicode-Zeichencodes umgewandelt und
dann das Ergebnis als Eine weitere Methode, falsche Informationen in eine Webseite einzuschleusen, ist die Nutzung des iframe-Tags. Als Beispiel soll eine für XSS anfällige Webseite dienen:
Als Wert für den Parameter
Auf den ersten Blick sieht das durch die Hexadezimal kodierte Zeichen wieder ziemlich chaotisch aus. Dekodiert ergibt es
Es wird also ein iframe mit Inhalten vom Server des Angreifers in die Seite eingefügt. Was ein Angreifer so ausrichten kann und woran ihn die Schutzfunktionen der Browser hindern, wird in der nächsten Folge behandelt.
Wenn Sie Fragen oder Themenvorschläge haben, können Sie diese gerne an die angegebene E-Mail-Adresse senden oder im Security-Forum einbringen! |
||
|