Announcement

Collapse
No announcement yet.

PHP Parameter in Browserzeile

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • PHP Parameter in Browserzeile

    Also ich hab bisher so viel wie gar keine Ahnung von PHP.

    Auf unserer Internetseite können Kunden diverse Informationen abgreifen, der Zugang ist eigentlich über ein Passwort geschützt. Nun kann man sich aber oben aus der Browserzeile den Text nehmen und die Parameter manipulieren. Auf diese Weise kann man Informationen abrufen, die einen nichts angehen, weil sie für einen anderen Kunden bestimmt sind. Wie können wir uns davor schützen?

    Die Daten holt sich das Programm aus einer MySQL Datenbank. In einer Datei namens dbconnect.php, die vom PHP-Programm aus der Browserzeile via include aufgerufen wird, stehen die MySQL Zugangsdaten im Klartext. Wird diese Datei auf den Client geladen, oder kann der Anwender nur den HTML-Text sehen?

    Von dem Herrn der das programmiert hat, haben wir uns vor einiger Zeit im Streit getrennt.

    Danke - Günther
    Günther

  • #2
    Wird diese Datei auf den Client geladen, oder kann der Anwender nur den HTML-Text sehen?
    Nein, der Anwender kann nur den erzeugten HTML-Quelltext sehen. Liegt die php-Datei allerdings mit den falschen Rechten im Documentenroot der Webanwendung, kann man diese natürlich downloaden, wenn man Namen und Ort kennt.

    Daten sollten dann per POST gesandt werden und nicht mittels GET über die URL....

    Offenbar sind hier aber viele grundsätzliche Fehler gemacht worden.
    Christian

    Comment


    • #3
      Zugangsdaten im Klartext speichern ist eigentlich ein absolutes nogo... ein simples Hashing schafft Abhilfe

      Ich denke Du wirst bei Webseiten die Dir Dein Passwort zurückschicken können auch stutzig

      Comment


      • #4
        Zugangsdaten im Klartext speichern ist eigentlich ein absolutes nogo
        Es geht wohl um die Zugangsdaten zur DB. Diese sollten in config-Dateien liegen - außerhalb des Documentenroot
        Christian

        Comment


        • #5
          Hallo,
          Originally posted by Günther Weber View Post
          ...Nun kann man sich aber oben aus der Browserzeile den Text nehmen und die Parameter manipulieren. Auf diese Weise kann man Informationen abrufen, die einen nichts angehen, weil sie für einen anderen Kunden bestimmt sind. Wie können wir uns davor schützen?
          Mit der grundlegensten Regel der Webprogrammierung: Alle eingehenden Daten und Parameter sind SERVERSEITIG zu validieren! Die gleiche Regel, die einem Kunden nur bestimmte Links zur Informationen liefert muß angewendet werden, wenn die Daten dann tatsächlich abgerufen werden.

          Wenn du jemanden davon abhalten willst, bestimmte Räume zu betreten, dann musst du dafür sorgen, dass sein Schlüssel nur an diesen Türen schliesst. Es genügt nicht ihm nur SEINE Türen zu zeigen und darauf zu hoffen das er die anderen nicht findet...

          Gruß Falk
          Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

          Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

          Comment


          • #6
            Oben in der Zeile steht jetzt gerade http://entwickler-forum.de/newreply.php mit Parametern, die wohl meine login-Daten und diesen Thread repräsentieren. Ist diese newreply.php für mich irgendwie einsehbar? Wenn ich unsere php Datei versuche mit c#zu lesen:
            Code:
              try
                        {
                            WebClient myWebClient = new WebClient();
                            myWebClient.DownloadFile(Quelle, Ziel);
                        }
                        catch (Exception e)
                        {
                            MessageBox.Show(e.Message);
                        }
            bekomme ich diese Fehlermeldung:
            Der Remoteserver hat einen Fehler zurückgegeben: (404) Nicht gefunden.
            Ist das dann sicher genug?


            Auf Wunsch kann ich euch auch mal den Link mailen...
            Günther

            Comment


            • #7
              Oben in der Zeile steht jetzt gerade http://entwickler-forum.de/newreply.php mit Parametern, die wohl meine login-Daten und diesen Thread repräsentieren.
              Nein, ob ein gültiger Login vorliegt, ist in einem Cookie gespeichert. Hier stehen solche Daten nicht in der URL. Ist auch nicht erforderlich diese Infos von Seite zu Seite zu schieben -> Cookie
              Ist das dann sicher genug?
              Die Anwort sollte ein 401 oder 403 sein...Da aber hier nicht bekannt ist, was programmiert wurde, wenn versucht ohne Login die Seite aufzurufen, ist das nur raten
              Christian

              Comment


              • #8
                ok, also wenn ich mir die url in meinem c# Test anschaue, mal etwas nachdenke, und dann die wahre Adresse schreibe, bekomme ich keine Fehlermeldung sondern tatsächlich eine Datei. Darin steht aber nicht der tatsächliche Inhalt, sondern eine MySQL Fehlermeldung.

                Bleibt also nur das Problem der Validierung. Mit diesem Stichwort werde ich mal in den zahlreichen PHP Dokumentationen suchen...

                nochmals vielen Dank.
                Günther

                Comment

                Working...
                X