Willkommen bei Entwickler-Forum.
Ergebnis 1 bis 8 von 8
  1. #1
    Stammgast
    Registriert seit
    26.02.2003
    Ort
    Hattingen
    Beiträge
    1.341

    Standard 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

  2. #2

    Standard

    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

  3. #3
    Stammgast
    Registriert seit
    18.07.2008
    Beiträge
    2.754

    Standard

    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

  4. #4

    Standard

    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

  5. #5
    Forenheld
    Registriert seit
    26.02.2003
    Ort
    Sachsen-Anhalt
    Beiträge
    5.139

    Standard

    Hallo,
    Zitat Zitat von Günther Weber Beitrag anzeigen
    ...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!

  6. #6
    Stammgast
    Registriert seit
    26.02.2003
    Ort
    Hattingen
    Beiträge
    1.341

    Standard

    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...

  7. #7

    Standard

    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

  8. #8
    Stammgast
    Registriert seit
    26.02.2003
    Ort
    Hattingen
    Beiträge
    1.341

    Standard

    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.

 

 

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •