molily: Aufnahme von vertrauensunwürdigen Parametern in die MySQL-Query

Beitrag lesen

Hallo, Sven,

@mysql_query("SELECT benutzername, kw FROM benutzer WHERE benutzername = '{$_POST['benutzername']}'");

Abgesehen davon, dass der String womöglich am ökonomischten über 'SELECT benutzername, kw FROM benutzer WHERE benutzername = "'.$_POST['benutzername'].'"' notiert werden könnte ;-), habe ich eine Frage bezüglich der direkten Übernahme von externen Parametern.

Wie weit ist es, trotz der Klammerung mit Stringbegrenzern im Statement '...', möglich, dass der in das Statement eingefügte String einen Stringbegrenzer und danach MySQL-Befehle enthalten kann? Generell kann externen Parametern nur nach Prüfung getraut werden, daher mein deduktiver Schluss:

SELECT benutzername, kw FROM benutzer
WHERE benutzername='xyz' DROP benutzer
                    ^^^^^^^^^^^^^^^^^^
                   $_REQUEST['whatever']

Mit den möglichen und zulässigen MySQL-Queries bin ich wenig vertraut, aber seitdem ich hier einige Threads über exakt dieses Problem gelesen habe, bin ich bei meinen Projekten komplett auf mysql_escape_string() http://www.php.net/manual/de/function.mysql-escape-string.php umgestiegen, da dort vorher jedwede Parameter direkt in den Query-String eingefügt wurden. Das hieß, dass man, soweit möglich, jede erdenklichen MySQL-Befehle »einschmuggeln« hätte können und damit im schlimmsten Falle die Datenbank hätte löschen können, sofern dessen Name bekannt ist, so mutmaße ich in meinem Unwissen - deshalb habe ich mir systematisch diese Paranoia angewöhnt.

Hältst du diese Methode für eine unnötige oder unzureichende Maßnahme oder hast du vergessen, darauf einzugehen...?

In </archiv/2002/12/32353/#m175267> empfiehlst du es selbst... Wahrscheinlich habe ich es auch von dir gelernt. ;) Folglich eher nur eine Unaufmerksamkeit deinerseits...?

... aber es mangelt am Datenbankverständnis noch erheblich.

Genau, das ist auch bei mir gewissermaßen der Fall, deshalb frage ich. :)

Grüße,
Mathias
Metakeywords: Sicherheit Datenbank Anfrage Überprüfung Validierung Benutzereingaben $_POST $_GET mysql_query

--
Moving, watching, working, sleeping, driving, walking, talking, smiling
Moving, watching, working, sleeping, driving, walking, talking, smiling
Moving, watching, working, sleeping, driving, walking, talking, smiling
Moving, watching, working, sleeping, ...     (Air - People In The City)
0 44

Wahnsinn... PHP abfrage nach einen kennwort

MichaelS
  • php
  1. 0
    Carl
  2. 0
    fastix
  3. 0
    Lemmy Danger
  4. 0
    Tobias K.
    1. 0
      MichaelS
      1. 0
        Tobias K.
        1. 0
          MichaelS
          1. 0
            Sorgenkind Mech
            1. 0
              Lemmy Danger
              1. 0
                Sorgenkind Mech
                1. 0
                  MichaelS HILFE !!!!
                  1. 0
                    Lemmy Danger
                  2. 0
                    Sorgenkind Mech
                    1. 0
                      MichaelS
                      1. 0
                        Sorgenkind Mech
                        1. 0
                          MichelS...
                    2. 0
                      DAS IST RICHTIG MichaelS... hatte fehler dinnen
                      1. 0
                        Sorgenkind Mech
                        1. 0
                          MichaelS
                          1. 0
                            Sorgenkind Mech
                            1. 0
                              Michaels
                              1. 0
                                Sorgenkind Mech
                          2. 0
                            Tobias K.
                            1. 0
                              MichaelS
                              1. 0
                                Tobias K.
                          3. 0
                            Lemmy Danger
                            1. 0
                              MichaelS
                              1. 0
                                Tobias K.
                                1. 0
                                  MichaelS
                                  1. 0

                                    Gott sei dank...

                                    Lemmy Danger
                                    1. 0
                                      Tobias K.
                              2. 0
                                Lemmy Danger
                                1. 0
                                  Tobias K.
                  3. 0
                    Tobias K.
                2. 0
                  Lemmy Danger
                  1. 0
                    Sorgenkind Mech
                3. 0
                  Christian Seiler
      2. 0
        Sven Rautenberg
        1. 0
          AnalphaBestie
          1. 0

            Was soll ich werden? ;)

            Sven Rautenberg
            • menschelei
        2. 0

          Aufnahme von vertrauensunwürdigen Parametern in die MySQL-Query

          molily
          • datenbank
          1. 0
            Sven Rautenberg
  5. 0
    Matze