Können die Leute schreiben .php-Datei auf meinem chmod 777 Ordner
Ist es möglich, für Hacker ( oder andere ) hochladen/schreiben Sie einen php-Datei in einen Ordner auf meiner Website, die hat chmod 777?
Beispiel:
Habe ich einen Ordner hat chmod 777.
Dieser Ordner enthält Bilder.
Ich verwenden .htaccess sperren der Indizierung der Ordner.
Reformierten Frage:
Können die Leute schreiben .php Datei in mein Ordner hat chmod 777 mittels einem PHP-Skript auf Ihrer website? Zum Beispiel , um eine Liste aller Bilder in diesem Ordner
( Ich bin vertraut mit den rechten chmod für Ordner hochladen etc .. , einfach Fragen, es hypotheticaly )
InformationsquelleAutor der Frage Sam Vloeberghs | 2011-11-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Stehen die Chancen sehr gut, dass alle berechtigten Nutzer, die Maschine schreiben kann
.php
Dateien, oder irgendetwas anderes, die Sie wollen, um das weit geöffnete Verzeichnis. Ein777
Verzeichnis hat fast keinen Platz auf einem shared host. (/tmp
manchmal1777
das sticky-bit auf Verzeichnis-und erlaubt nur eine Datei Besitzer zu löschen, eine Datei in dem Verzeichnis. Normalerweise777
bedeutet, jeder kann eine Datei löschen, aus dem Verzeichnis. Aber/tmp
auf jeden Fall hat gefallenen aus der Gunst, die auf shared-hosting-Umgebungen, da es von Natur aus unsicher.)Also: Sind Sie der einzige user auf der Maschine? Oder ist diese Maschine mit anderen gemein hat? Hat diese Maschine laufen andere Dienste neben dem web-server? Wenn ja, diesen anderen Diensten darstellen könnten, einen möglichen Angriffs-Vektor.
Außerdem, wenn Ihr die Berechtigungen gesetzt sind, um
777
auf Ihr Verzeichnis Frage ich mich gerade, wie sicher die PHP-Dateien, die Sie ausgeführt werden-ich habe gesehen, viele Fälle von Menschen, die unsichere PHP-Skripte, die es einem Angreifer ermöglichen, ändern Sie jede HTML-Datei, die auf der gesamten web-server zu infizieren Menschen, die auf der Website Browsen. (Ja. Viele. Mehr als eine Handvoll von vielen.)Dies ist der Grund, warum je nachdem, welcher Benutzer-Konto, das Ihre web-server ausgeführt wird, sollte keine der Dateien von der website -- sowohl statische Seiten und dynamische Seiten. Der web-server sollte nur genug Schreibrechte zu schreiben
access.log
error.log
und sprechen Sie mit einem Datenbank-server. Alle zusätzliche Berechtigungen, die außerhalb dieses macht es viel zu einfach für einen sonst gutartigen Fehler in Ihren Skripten zu einer ausnutzbaren Schwachstelle, die es ermöglicht Ihre Website, um verwendet werden, für den Angriff auf andere.777
ist eine schlechte Idee. Das beheben. Stellen Sie sicher, dass Ihre web-server keinen Schreibzugriff auf jeder der web-Inhalte. Stellen Sie sicher, dass keine anderen Dienste auf dem server Schreibrechte besitzt, um Ihre web-Inhalte. Stellen Sie sicher, dass keine anderen Benutzer auf dem server Schreibrechte haben, um Ihre web-Inhalte.Update
Dies ist einfacher als es klingt. Erstellen Sie eine neue
webcontent
Benutzer. Wenn Ihr web-server bereits eine Gruppe von seinen eigenen, können es verwenden, und nennen eswebgroup
. Wenn es nicht vorhanden ist, erstellen Sie eine neuewebgroup
als gut. (adduser(8)
undaddgroup(8)
wenn Ihr VPS nicht über seine eigenen Mechanismus.) Anschließend legen Sie den Besitzer für alle Ihre web-Inhalte:fix Berechtigungen:
dann stellen Sie sicher, dass Ihre web-server ist mit dem
Gruppe webgroup
Richtlinie, um sicherzustellen, dass es noch Lesen können alle Dateien, die es braucht.Dies wird Ihr web-server haben Lesen Zugriff auf alle Ihre Skripte und Konfiguration, aber wenn der web-server selbst gehackt wird, kann es nicht ändern.
InformationsquelleAutor der Antwort sarnold
Gibt es (mindestens) drei Möglichkeiten, jemandem schreiben können, um Ihr Verzeichnis:
PUT
HTTP-MethodeSolange Sie nicht öffentlich aussetzen, die Ordner in einer beschreibbaren Weise, kann das niemand ändern, der Inhalt des Ordners aus der Ferne. Dies ist unabhängig von lokalen Berechtigungen. Die lokalen Berechtigungen, die Sie haben, kann jeder lokale Benutzer des Servers zu Lesen, schreiben und ausführen in diesem Ordner - aber das bedeutet nicht, dass ein entfernter Angreifer kann.
Having said that, vermeiden
777
Berechtigungen, es sei denn absolut notwendig/sicher.InformationsquelleAutor der Antwort DaveRandom
Wenn Ihr code ist auf einem shared-server oder einem server mit anderen Diensten auf, es würde möglich sein, für die anderen lokalen Benutzer zu schreiben, um Ihr Verzeichnis (wenn der andere Nutzer in der Lage sind, steigen Sie hinab in die übergeordneten Verzeichnisse).
Benötigen Sie mehr als nur ein Verzeichnis ist lesbar und schreibbar von jedem (777) gehackt. Mithilfe von Berechtigungen 777 in der Regel auf ein schlechtes Verständnis von Sicherheits-features auf alle (oder die Faulheit, wenn der code muss neu verteilt werden und der Autor will nicht, dass es allzu schwer erklären Datei-Berechtigungen für den Benutzer des Skripts).
InformationsquelleAutor der Antwort Lekensteyn