Geht noch einfacher.Zitat von wrtlprnft
Mit Proxomitron und Tar=Ref-Replacementfilter. Und schon stammt jedes x-beliebige Formular vom Opferhost. }![]()
Rate mal, welcher Filter bei mir prinzipiell an ist.Zitat von Chocwise
BTW, es gibt keine Möglichkeit, den User sicher Daten an den Server übergeben zu lassen - wenn der User etwas senden soll, dann kann er alles mögliche senden, einen userseitigen Schutz gegen Fehleingaben gibt es nicht. Man sollte in seinem Skript grundsätzlich den gesendeten Daten mißtrauen, sprich: Maßnahmen ergreifen, um mögliche Fehleingaben unschädlich zu machen.
Bei dem oben genannten Codeschnipsel dürfte allerdings selbst die Eingabe von "/etc/shadow" nicht viel bringen, da kaum ein Server, der nicht gerade von einem volltrunkenen MCSE eingerichtet wurde, die Dokumentenwurzel bei / hat (und daß jemand sein System so umbaut, daß die Konfiguration in /var/www/html/etc ö.ä. liegt, kann man wohl kaum annehmen). Da alle Pfade relativ zur Dokumentenwurzel sind würde die Eingabe von "/etc/shadow" dazu führen, daß das Skript versucht, die Datei /var/www/html/etc/shadow/index.php zu öffnen.
Uhm... falsch?Zitat von Jesus_666
Wann hast du zuletzt PHP gescriptet?
Per Include lässt sich über den aboluten Systempfad, safe_mode auf off; Dateileserechte auf a+r bzw. entsprechend ge-chown-ed vorrausgesetzt, jede Datei auf dem System einbinden und somit ausgeben.
Sicherlich stimm ich dir zu, dass man eine möglichst entstandardisierte Systemordnerstruktur auf einem Serversystem etablieren sollte und natürlich auch möglichst wenig Dateirechte zugestehen, sowie safe_mode, chroot und einen vHost als eigenen User laufen lassen, nur ist deine Aussage, das Dateien nicht über den vollen Systempfad einbindbar sind, sondern IMMMER vom relativen Pfad ausgegangen wird, falsch.![]()