dedlfix: Dateiupload

Beitrag lesen

Hi!

Und die Funktion weiß natürlich, welche Datei hochgeladen wurde, weil PHP sie ja grad eben in Empfang genommen hat - genau die und nicht irgendwelche anderen, die andere Leute hochgeladen haben oder die schon auf dem System sind.
Da kommen wir der Sache also schon näher. "Die Funktion weiß...". Woher weiß die das? Was weiß die mehr, als es $_FILES sowieso schon weiß?

Schrub ich doch, aber nochmal genauer: sie ist Bestandteil von PHP und hat somit auch Zugriff auf dessen interne Informationen. Du wirst sie sicher nicht mit einer Userland-Funktion nachbilden können. Eine dieser internen Information ist das Wissen um die soeben empfangene Datei.

Was macht also move_uploaded_file() zusätzlich, um die Sicherheit noch zu erhöhen?
Es stellt sicher, dass ein Kopieren mit manipuliertem Dateinamen - sprich: anderer als der hochgeladener Dateien - nicht stattfinden kann.
Wer sollte den denn manipulieren, wenn das Script, ihn aus $_FILES['???']['tmp_name'] oder $_FILES['???']['tmp_name'][x] (bei mehreren Files unter dem Namen ['???'] entnimmt.

Es geht nicht um den Wenn-Fall sondern un den Wenn-nicht-Fall. Niemand wird daran gehindert, noch Stringmanipulationen daran vorzunehmen, oder sich den Inhalt von $_FILES verändern zu lassen, oder es selbst zu tun - aus welchem Grund und mit welchem Vorgang auch immer.

Soll das heißen, dass in $_FILES 'nur so ungefähr' und 'manchmal' die richtigen Temporärdateinamen drinstehen?

Zum Scriptstart wird von Seiten PHPs aus das richtige drinstehen. Es ist aber nicht read-only.

Ich halte die Funktion (bei Verwendung von $_FILES) immer noch für Quatsch, solange mir niemand zeigen kann, was die mehr kann.

Das "mehr" ist die Prüfung auf wirklich Hochgeladenes.

Das ist mir vollkommen klar. Ich frage mich nur, durch welche Maßnahme an welcher Stelle soll das verhindert werden? mMn kann hier nichts eingeschleppt werden.

Sei doch mal ein wenig kreativer. So wirst du nie ein guter Angreifer und auch kein guter Verteidiger, wenn du dir die Angriffsvektoren nicht vorstellen kannst.

Und wenn der Scriptautor einen Fehler macht, kann er die Datei ggf. auch gleich selber klauen, wenn er dran kommt.

Wenn Script-Autoren (oder Programmierer im Allgemeinen) immer fehlerfrei arbeiten würden, bräuchte es eine ganze Menge anderer Sicherungsmaßnahmen ebenfalls nicht.

Lo!

0 78

Dateiupload

hannes
  • php
  1. 0
    dedlfix
    1. 0
      hannes
      1. 0
        Shadowcrow
      2. 0
        dedlfix
      3. 0
        Vinzenz Mai
  2. 0
    Der Martin
    1. 0
      hannes
      1. 0
        dedlfix
        1. 0
          hannes
          1. 0
            Shadowcrow
            1. 0
              hannes
              1. 0
                dedlfix
                1. 0
                  hannes
                  1. 0
                    dedlfix
                    1. 0
                      Shadowcrow
                    2. 0
                      Tom
                      1. 0
                        dedlfix
                        1. 0
                          hannes
                          1. 0
                            dedlfix
                            1. 0
                              hannes
                              1. 0
                                dedlfix
                                1. 0
                                  hannes
                                  1. 0
                                    dedlfix
                          2. 0
                            Der Martin
                            1. 0
                              hannes
                              1. 0
                                Shadowcrow
                                1. 0
                                  Shadowcrow
                                  1. 0
                                    hannes
                                    1. 0
                                      Tom
                              2. 0
                                Tom
                              3. 0
                                Der Martin
                                1. 0
                                  Shadowcrow
                                  1. 0
                                    Der Martin
                                    1. 0
                                      Shadowcrow
                                      1. 0
                                        hannes
                                        1. 0
                                          Tom
                                          1. 0
                                            hannes
                                          2. 0
                                            hannes
                                            1. 0
                                              Tom
                                              1. 0
                                                Tom
                                              2. 0
                                                hannes
                                                1. 0
                                                  Tom
                                                  1. 0
                                                    hannes
                                                    1. 0

                                                      Dateiupload und Typüberprüfung

                                                      Shadowcrow
                                                      1. 0
                                                        Tom
                              4. 2
                                ChrisB
                        2. 0
                          Tom
                          1. 0
                            dedlfix
                            1. 0
                              Tom
                              1. 0
                                dedlfix
                                1. 0
                                  Tom
                                  1. 0
                                    dedlfix
                                    1. 0
                                      Tom
                          2. 0
                            Der Martin
                            1. 0
                              Tom
                              1. 0
                                Der Martin
                                1. 0
                                  Tom
                            2. 0

                              Dateiupload, was tut move_uploaded_file() wirklich?

                              Tom
                              1. 0
                                dedlfix
                                1. 0
                                  Tom
                                  1. 0
                                    dedlfix
                                    1. 0
                                      Tom
                                      1. 0
                                        dedlfix
                                        1. 1

                                          Bin hetzt heftig beleidigt [... :-) ...]

                                          Tom
                                          • menschelei
                                          1. 0

                                            du doch nicht

                                            dedlfix
                              2. 0

                                Komme da nicht weiter...

                                Tom
                                1. 0
                                  Der Martin
                                  1. 0
                                    Tom
                  2. 0
                    Tom
          2. 0
            dedlfix
            1. 0
              Tom
  3. 0
    Felix Riesterer
    1. 2
      dedlfix
      1. 0
        Felix Riesterer
  4. 0
    Tom
    1. 0
      hannes
    2. 0
      hannes