Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Upload scheitert wegen falschen Rechten

Frage Entwicklung PHP

Mitglied: Bierkistenschlepper

Bierkistenschlepper (Level 2) - Jetzt verbinden

12.07.2011, aktualisiert 20:42 Uhr, 5136 Aufrufe, 4 Kommentare

Hallo,

ich habe nach einem Serverumzug für einen Kunden ein kleines Upload-Skript programmiert. Es sollen Fotos hochgeladen werden. Das Speichern der Bilder scheiterte, weil die Rechte des Zielordners ../uploads/slideshow falsch gesetzt waren.

Nachdem ich dann das Recht "Ausführen" aktiviert habe, ging es plötzlich. Ist das normal?

Ich dachte zum speichern braucht man nur Schreib-Rechte? Aktuell hat der Ordner die Rechte 777. Mit 666 schlägt der Upload reproduzierbar fehl.
Warning: move_uploaded_file(../upload/slideshow/1.jpg) [function.move-uploaded-file]: failed to open stream: Permission denied in /var/www/web6/html/admin/slideshow.php on line 58

Ist das nicht ein Sicherheitsrisiko? Immerhin kann man ja ausführbare Datein als Bild tarnen.

Und noch eine Frage: Welche Rechte hat denn der anonyme Besucher der Seite? Läuft der unter "Andere"? Und ich bin der Besitzer?

Was sind "normale" Rechte für einen Webserver mit ein wenig PHP und einem Upload? Wobei ich hinzufügen muss, dass die Seite sehr unübersichtlich und schlecht programmiert wurde (nicht von mir).. Es lassen sich schlecht verzeichnisweise Rechte setzen.

Ich frage das alles ur, weil ich da keine Sicherheitslücken programmieren will.

Server läuft auf aktuellem Debian und als FTP-Client nutze ich Cyberduck (Win).
Mitglied: Hitman4021
12.07.2011 um 22:17 Uhr
Zitat von Bierkistenschlepper:
Nachdem ich dann das Recht "Ausführen" aktiviert habe, ging es plötzlich. Ist das normal?
Nein!

Ich dachte zum speichern braucht man nur Schreib-Rechte? Aktuell hat der Ordner die Rechte 777. Mit 666 schlägt der Upload
reproduzierbar fehl.
Warning: move_uploaded_file(../upload/slideshow/1.jpg) [function.move-uploaded-file]: failed to open stream: Permission denied in
/var/www/web6/html/admin/slideshow.php on line 58
Was für eine Gruppe hat der Webserver und Ftp Server?
Welche Gruppe hat der User?
FTP Rewrite und Unmask einträge?

Ist das nicht ein Sicherheitsrisiko? Immerhin kann man ja ausführbare Datein als Bild tarnen.
Ja definitiv

Und noch eine Frage: Welche Rechte hat denn der anonyme Besucher der Seite? Läuft der unter "Andere"? Und ich bin
der Besitzer?
Der Zugriff über den Browser läuft unter dem User Apache bzw der Gruppe von Apache.

Was sind "normale" Rechte für einen Webserver mit ein wenig PHP und einem Upload? Wobei ich hinzufügen muss,
dass die Seite sehr unübersichtlich und schlecht programmiert wurde (nicht von mir).. Es lassen sich schlecht
verzeichnisweise Rechte setzen.
Rechte normal 660 bzw 770 oder eben eine Mischung je nachdem.

Ich frage das alles ur, weil ich da keine Sicherheitslücken programmieren will.
Ich würde mit keinem Server online gehen wo die website nur mit 777 läuft außer ich habe PHP wirklich sicher konfiguriert. Hast du das?

Server läuft auf aktuellem Debian und als FTP-Client nutze ich Cyberduck (Win).
Also Debian 6.0.0, Apache, PHP 5.3+ und welchem FTP Server?

Gruß Hitman
Bitte warten ..
Mitglied: Arano
12.07.2011 um 23:20 Uhr
Guten Abend zusammen.

Zitat Wikipedia - Unix-Dateirechte
Ausführen
(engl. execute) Der Benutzer darf die Datei als Programm ausführen bzw. in das Verzeichnis wechseln und dort Dateien oder Unterverzeichnisse erreichen. Ohne das Lesen-Recht darf der Verzeichnisinhalt jedoch nicht ausgelesen werden. Dieses Recht wird oft durch den Buchstaben „x“ für englisch execute („ausführen“) dargestellt und daher auch X-Bit genannt.

Das kann dann so aus sehen:
01.
arano@lamp:~/cpp$ ls -l test 
02.
insgesamt 576 
03.
-rwxr-x--- 1 arano arano   1331  3. Juli 19:33 pop3-cache.tmp 
04.
-rwxr-x--- 1 arano arano   2475  3. Juli 19:33 test.cpp 
05.
-rwxr-x--- 1 arano arano 140800  3. Juli 19:33 test.exe 
06.
-rwxr-x--- 1 arano arano  44269  3. Juli 19:33 test.obj 
07.
-rwxr-x--- 1 arano arano 393216  3. Juli 19:33 test.tds 
08.
arano@lamp:~/cpp$ chmod a-x test 
09.
arano@lamp:~/cpp$ ls -l test 
10.
ls: Zugriff auf test/test.obj nicht möglich: Keine Berechtigung 
11.
ls: Zugriff auf test/pop3-cache.tmp nicht möglich: Keine Berechtigung 
12.
ls: Zugriff auf test/test.cpp nicht möglich: Keine Berechtigung 
13.
ls: Zugriff auf test/test.tds nicht möglich: Keine Berechtigung 
14.
ls: Zugriff auf test/test.exe nicht möglich: Keine Berechtigung 
15.
insgesamt 0 
16.
-????????? ? ? ? ?             ? pop3-cache.tmp 
17.
-????????? ? ? ? ?             ? test.cpp 
18.
-????????? ? ? ? ?             ? test.exe 
19.
-????????? ? ? ? ?             ? test.obj 
20.
-????????? ? ? ? ?             ? test.tds 
21.
arano@lamp:~/cpp$ touch ./test/arano 
22.
touch: kann „./test/arano“ nicht berühren: Keine Berechtigung 
23.
arano@lamp:~/cpp$ 
Also kann das PHP-Script / der Webserver / dessen Benutzer auch keine Dateien in dem entsprechendem Ordner erstellen wenn das X-Bit nicht gesetzt ist.


~Arano
Bitte warten ..
Mitglied: Hitman4021
12.07.2011 um 23:31 Uhr
Zitat von Arano:
01.
> arano@lamp:~/cpp$ chmod a-x test 
02.
> arano@lamp:~/cpp$ ls -l test 
03.
> ls: Zugriff auf test/test.obj nicht möglich: Keine Berechtigung 
04.
> ls: Zugriff auf test/pop3-cache.tmp nicht möglich: Keine Berechtigung 
05.
> ls: Zugriff auf test/test.cpp nicht möglich: Keine Berechtigung 
06.
> ls: Zugriff auf test/test.tds nicht möglich: Keine Berechtigung 
07.
> ls: Zugriff auf test/test.exe nicht möglich: Keine Berechtigung 
08.
> insgesamt 0 
09.
> -????????? ? ? ? ?             ? pop3-cache.tmp 
10.
> -????????? ? ? ? ?             ? test.cpp 
11.
> -????????? ? ? ? ?             ? test.exe 
12.
> -????????? ? ? ? ?             ? test.obj 
13.
> -????????? ? ? ? ?             ? test.tds 
14.
> arano@lamp:~/cpp$ touch ./test/arano 
15.
> touch: kann „./test/arano“ nicht berühren: Keine Berechtigung 
16.
> arano@lamp:~/cpp$ 
Und nun hast du die gesamten X Rechte entfernt wodurch niemand mehr was machen darf...
Das ist mir schon klar. aber für diese Anwendung reicht meiner Meinung ein 770 auch und das ist möglicherweise noch einzuschränken je nachdem wie die User Apache/PHP/User den Gruppen zugenordnet sind und je nach PHP Konfiguration.

Gruß
Bitte warten ..
Mitglied: Arano
12.07.2011 um 23:41 Uhr
Hi,

ja damit hast du natürlich recht !
und dagegen will und kann ich auch gar nichts sagen

Zitat von Hitman4021:
> Zitat von Bierkistenschlepper:
> ----
> Nachdem ich dann das Recht "Ausführen" aktiviert habe, ging es plötzlich. Ist das normal?
Nein!
Nur hiergegen hatte ich etwas
Also, das X-Bit muss schon auf dem entsprechendem Ordner gesetzt sein, deswegen ist es schon normal das es ohne nicht ging dafür aber mit.
Das wollte ich nur noch etwas erläutern. Dafür auch das Beispiel

Die Rechte 777 sollten am besten natürlich nicht gesetzt sein. Sondern, wie du es schon beschrieben hast, nur die Nötigsten für die entsprechenden Parteien.


~Arano
Bitte warten ..
Ähnliche Inhalte
Netzwerke
Remotedesktopverbindung scheitert
Frage von nixxokNetzwerke9 Kommentare

in meinem Büro steht ein Zyxel P-662H und dahinter mein ArbeitsPC mit Windows 7, wo ich die Remotedesktop aktiviert ...

PHP
Upload Textdatei auf Webserver - Nur die Erste Zeile uploaden?
gelöst Frage von eisbeinPHP6 Kommentare

Hallo! Ich versuche mich gerade an DATANORM. Das sind (genormte) Textdateien, wobei in der Ersten Zeile die von mir ...

Vmware
Bereitstellung eines Pools für VDI scheitert
Frage von a.grotheVmware2 Kommentare

Hallo zusammen, wer kann weiterhelfen: Ich erstelle mit dem View Composer einen neuen Pool, dabei kann ich alle Einstellungen ...

Windows Server
Windows-Bereitstellungsdienste - Anmeldung scheitert
gelöst Frage von Highend01Windows Server8 Kommentare

Hallo zusammen, ich möchte mich gern ein bisschen mit den Windows-Bereitstellungsdiensten beschäftigen und habe dafür auf meinen nicht mehr ...

Neue Wissensbeiträge
Internet

Was nützt HTTPS, wenn es auch von Phishing Web-Seiten genutzt wird

Information von Penny.Cilin vor 2 TagenInternet17 Kommentare

HTTPS richtig einschätzen Ob man eine Webseite via HTTPS aufruft, zeigt ein Schloss neben der Adresse im Webbrowser an. ...

Webbrowser

Bugfix für Firefox Quantum released - Installation erfolgt teilweise nicht automatisch!

Erfahrungsbericht von Volchy vor 4 TagenWebbrowser8 Kommentare

Hallo zusammen, gem. dem Artike von heise online wurde mit VersionFirefox 57.0.1 sicherheitsrelevante Bugs behoben. Entgegen der aktuellen Veröffentlichung ...

Sicherheit

Teamviewer Sessions können gekapert werden - Update tw. verfügbar

Information von sabines vor 4 TagenSicherheit6 Kommentare

In bestimmten Konstellationen können Teamviewer Sessions gekapert werden, wahrscheinlich aber ein recht unwahrscheinliches Szenario. Da der Teamviewer gerne für ...

Digitiales Fernsehen

Apple TV: Amazon Prime App ist verfügbar

Information von Frank vor 4 TagenDigitiales Fernsehen4 Kommentare

Die Amazon Prime Video App kann ab sofort auf einem Apple TV ab der 3 Generation installiert werden. Einfach ...

Heiß diskutierte Inhalte
Vmware
Installation Windows 10 VMware
Frage von Ghost108Vmware17 Kommentare

Hallo zusammen, versuche gerade mit Hilfe des vshpere clients eine virtuelle Windows 10 maschine aufzusetzen. 1. virtuelle Maschine erstellt ...

Exchange Server
SBS 2011 E-Mails können gesendet werden, aber nicht von extern empfangen
Frage von andreas1234Exchange Server14 Kommentare

Hallo Community, ich habe das Problem, dass seit knapp zwei Wochen die E-Mails von meinem SBS 2011 einwandfrei gesendet ...

Voice over IP
Telefonstörung - Ortsrufnummern kein Verbindungsaufbau
Frage von Windows10GegnerVoice over IP10 Kommentare

Hallo, sowohl bei uns als auch beim Opa ist es über VoIP nicht möglich Ortsrufnummern anzurufen. Es kommt nach ...

Windows Server
Server 2012 über Eingabeaufforderung devmgmt.msc geht nicht
gelöst Frage von achim222Windows Server9 Kommentare

Hallo, ich habe hier einen Server 2012 der im Reparaturmodus startet. Es liegt an einem falschen VirtIO Treiber für ...