Sicherheits Frage

Dyonisus

New member
Ist es ein Sicherheitsrisiko, in einer Community auf welcher sich die User eine eigene Homepage erstellen können den Upload von Flah Filmen zu erlauben?.
Die Pages der User liegen noch auf dem selben Server wie die Community, welche auf Session basiert und größtenteils in Php geschrieben ist. Ich habe leider nicht viel Ahnung von Flash, hörte aber, dass es möglich sein soll, z.B. Textdateien mittes Flash auszulesen. Könnte ein User über diesen Weg z.B. auch an den Quelltext der Php Seiten gelangen? Oder gibt es etwaige andere Risiken?
 
auch wenn flash vom server darauf zu greift ? weil flash hat glaub ich wirklich ziemlich viele möglichkeite (die ich ihm vor kurzem niemals zugedacht hätte)

mfg digleu
 
ähm also bevor jetzt hier falsche Gerüchte in Umlauf gebracht werden:
Flash läuft auf dem Client und hat damit keinen Zugriff auf Serverdateien, außer über HTTP. Also nichts, was ein normaler Browser nicht auch könnte, in Fakt Flash macht sich sogar die Funktionen des Browsers zunutze, um z.B. auch SSL oder Sessions unterstützen zu können.
Desweiteren kann Flash Socket Verbindungen zum Server aufbauen, auf dem es läuft, was man z.B. dazu ausnutzen könnte, um E-Mails über den dort laufenden SMTP Dienst zu verschicken. Das ist aber auch kein direkter Fehler von Flash, sondern von der Konfiguration des Servers selbst.
Durch die eingebaute Sandbox kann eine Flash Datei allerdings nur auf den Server / die Domain zugreifen, von dem sie geladen wurde.

Was Flash Dateien so gefährlich macht ist die Tatsache, daß eine Flash natürlich vollen Zugriff auf den JS DOM hat und auch sämtliche Cookies des Users ausspionieren kann. Diese Daten könnten z.B. über einen offenen SMTP Port des Webservers verschickt werden (rein theoretisch).
Viel gefährlicher ist es, wenn man seinen Usern erlaubt die Flash Dateien auf ihren eigenen Servern zu halten, weil dann können die SWFs auf Skripte zugreifen, die außerhalb der eigenen Domain und außerhalb des eigenen Zugriffs liegen. Dadurch hat man ein Mega-Sicherheitsloch, weil jeder beliebige User ausspioniert werden kann, sein Cookie kann geklaut werden, oder seine SessionID übernommen werden. Aus diesem Grund wurde in so ziemlich sämtlichen Flash Boards diese Option ausgeschaltet. (Texte dazu in were-here.com / Flashkit.com / flashforum.de usw.)
 
Ähm

Da scheine ich nu aber eine enorme Wissenslücke zu haben. Wie kann man mit Scripten auf anderen Servern an die Session ID oder die Cookies eines Users gelangen? Auf die Cookies kann man doch nur von dem Server aus zugreifen, von dem sie gesetzt wurden und die Session ID lässt sich doch auch nur von Scripten auf dem Server der Session auslesen...
So dachte ich zumindest...
Zur Zeit besteht z.B. noch das Problem, das die User mit einem Java Script über parent.location.href an eine URL gelangen, die die Session ID des Besuchers erhält. Ich gedachte dieses Problem dadurch zu beheben, die Userpages auf einen anderen Server auszulagern. Auf welchem Weg könnten die dann noch zugriff auf die Session ID eines Besuchers bekommen ?
 
nunja die Flashs laufen in einer fremden Seite, richtig?
D.h. sie können auf das DOM dieser fremden Seite zugreifen. Dies geschieht durch z.B. Aufrufe mit getURL und beliebigen JS Code, den sie zur Ausführung übergeben, und den Du nicht kontrollieren kannst. Wenn die SWFs auch noch auf den Servern der User liegen, dann können Sie nicht nur den JS DOM abfragen, sondern dank Sandbox auch noch auf die Seiten und Skripte der User zugreifen und dorthin Daten zurückmelden. Und bevor Du das jetzt falsch verstehst, folgendes Szenario:
User A hat eine böse SWF auf seinem Server http.//usera.de/ . Diese SWF wird auf Deiner Seite http.//www.yoursite.de/ angezeigt, kommt aber eigentlich von http.//usera.de/ . Die Sandbox greift für die SWF also auf http.//usera.de/ und nicht auf http.//www.yoursite.de/ . Ruft jetzt User B die Seite mit dem bösen SWF von User A auf, dann kann die SWF dank JS auf das DOM der aktuellen Seite (http.//www.yoursite.de/) zugreifen und dort alles auslesen, was auszulesen ist (dies kann man ja vorher ausspionieren, um seine SWF die richtigen Daten auslesen zu lassen). Wenn sie alle Daten hat, dann kann die SWF diese per POST an http.//usera.de/ , weil es ja durch die Sandbox auf diesen Server beschränkt ist. Allerdings ist http.//usera.de/ eben ein Server, der nicht in Deinem Zugriff steht, die Skripte und Daten auf diesem Server sind für Dich nicht einsehbar oder kontrollierbar. --> Du hast ein dickes Sicherheitsloch...
 
Zurück
Oben