Php file herunterladen

Wenn ein vergessliches sysadmin jedoch eine Kopie der PHP-Datei zu Sicherungszwecken erstellt hat, können Sie die Kopie möglicherweise abrufen, ohne von /usr/bin/php ausgeführt zu werden. Im Idealfall haben Sie eine Liste der zulässigen Dateien, und das Skript wird alle anderen Anforderungen ablehnen. Erstellen wir eine Datei mit dem Namen “image-gallery.php” und platzieren Sie den folgenden Code darin. Vertrauen Sie mir, es funktioniert! .. Laden Sie die Datei PHP mit eigenem Risiko 🙂 Der Server identifiziert irgendwie eine Datei, die ausgeführt werden soll, anstatt sie herunterzuladen. Sie müssen die PHP-Datei, die Sie herunterladen möchten, von dieser Behandlung ausschließen. Am einfachsten ist es, die Datei in .php.txt umzubenennen. Wenn Sie den obigen Beispielcode sorgfältig sehen, finden Sie den Download-Link pints zu einer “download.php”-Datei, die URL enthält auch den Bilddateinamen als Abfragezeichenfolge. Außerdem haben wir die PHP urlencode()-Funktion verwendet, um die Bilddateinamen zu kodieren, sodass sie sicher als URL-Parameter übergeben werden können, da Dateinamen URL-unsichere Zeichen enthalten können. Ich habe diesen Code ausprobiert, aber er gibt immer noch die Datei example.php auf dem Bildschirm aus.

(Server führt es nicht aus, aber das Downloadfeld wird nicht angezeigt.) Diese übrig gebliebenen Dateien zu finden ist eine umständliche Aufgabe, daher sollten Sie einen Blick auf automatisierte URL-Fuzzing-Tools werfen. Gibt die Anzahl der Bytes aus der Datei bei Erfolg gelesen, oder FALSE bei Fehler Es gibt viele Ansätze, um eine Datei von einer URL herunterladen einige von ihnen werden unten diskutiert: Hier ist der komplette Code der “download.php” Datei, die Bild-Download erzwingen. Wenn sich eine solche PHP-Datei auf demselben Server/derselben Website befindet, öffnen Sie sie einfach als normale Datei, z.B. $fileContents = file_get_contents($filename); Wie kann ich den Link auf example.php setzen, damit er als Datei heruntergeladen wird, die sie “speichern” können, anstatt sie auf dem Server auszuführen? Wenn ein Benutzer www.example.com/index.php besucht, generiert der Webserver die HTML-Antwort durch /usr/bin/php, die die Datei index.php aus /var/www/html ausführt. Ich habe eine PHP-Datei, die ich möchte, dass meine Website-Besucher herunterladen können. (Es ist eine Beispieldatei.php.) Der reguläre Ausdruck im obigen Beispiel (Zeile Nr.-8) erlaubt einfach nicht die Dateien, deren Name mit einem Punktzeichen (.) beginnt oder endet, z. B. erlaubt er die Dateinamen wie kites.jpg oder Kites.jpg, myscript.min.js, aber nicht kites.jpg. oder .kites.jpg. Wie andere gesagt haben, wird die PHP-Datei serverseitig ausgeführt, es sei denn, der Server ist so schlecht eingerichtet, dass er einfach die Quelle bedienen wird. Ebenso können Sie das Herunterladen anderer Dateiformate wie Word-Doc, PDF-Dateien usw. erzwingen.

Andernfalls sollten Sie in der Lage sein, den Server so zu konfigurieren, dass er diese bestimmte Datei oder den Pfad nicht verarbeitet, wenn er sich befindet. Wie Sie dies tun, hängt davon ab, auf welchem Server Sie ausgeführt werden. Webserver sind in der Regel so konfiguriert, dass nur PHP-Dateien ausgeführt werden, sodass .jpg oder andere Dateitypen als normal bereitgestellt werden. 3) Haben Spezielleskript auf diesem Server und durch die Übergabe Dateinamen als Parameter wird es Inhalt dieser Datei zurückgeben (z.B. example.com/showfile.php?file=somefile.php) Die .php Datei wird auf der Serverseite ausgeführt, so dass es keine Möglichkeit gibt, den Quellcode leider zu bekommen. Was Sie jedoch versuchen können, ist, die URL mit der Hoffnung zu manipulieren, dass der Sysadmin einen Fehler gemacht hat. Normalerweise müssen Sie nicht unbedingt eine serverseitige Skriptsprache wie PHP verwenden, um Bilder, Zip-Dateien, PDF-Dokumente, Exe-Dateien usw. herunterzuladen. Wenn eine solche Datei in einem öffentlich zugänglichen Ordner gespeichert ist, können Sie einfach einen Hyperlink erstellen, der auf diese Datei verweist, und wenn ein Benutzer auf den Link klickt, lädt der Browser diese Datei automatisch herunter. Wenn der Server richtig konfiguriert ist, können Sie keine PHP-Datei herunterladen.