Rolf: bug or feature

Hallo,

das folgende einfache PERL Script zeigt die Umgebung (IIS4):

---schnipp---
require "cgi-lib.pl";
print PrintHeader();
print PrintEnv();
---schnapp---

soweit ... OK.

Ich testete dieses Script nun über den Browser Opera 3.60 und muss feststellen, dass in der Variablen

AUTH_PASSWORD

mein Passwort im Klartext ausgegeben wird. Der IE macht das nicht. Ist das ein Bug von Opera?

Viele Grüße, Rolf

  1. ---schnipp---
    require "cgi-lib.pl";
    print PrintHeader();
    print PrintEnv();
    ---schnapp---
    soweit ... OK.
    Ich testete dieses Script nun über den Browser Opera 3.60 und muss feststellen, dass in der Variablen
    AUTH_PASSWORD
    mein Passwort im Klartext ausgegeben wird. Der IE macht das nicht. Ist das ein Bug von Opera?

    Was macht der MSIE statt dessen? Sendet er diese Variable gar nicht mit (in CGI 1.1 gibt es sie meines Wissens gar nicht - was für ein Webserver ist denn das?), oder stellt der MSIE sie etwa verschlüsselt dar (wie sollte er)?
    Vielleicht ist es ein Feature von Opera, um die CGI-Schnittstelle zu erweitern ...

    1. Was macht der MSIE statt dessen? Sendet er diese Variable gar nicht mit (in CGI 1.1 gibt es sie meines Wissens gar nicht - was für ein Webserver ist denn das?), oder stellt der MSIE sie etwa verschlüsselt dar (wie sollte er)?

      Michael grüß Dich, also

      der MSIE4 gibt mit demselben Script (und auch unter total gleichen Bedingungen, nur die Browser sind verschieden) die Variable

      "AUTH_PASSWORD" gar nicht aus.

      Webserver: IIS4
      PERL:  5.005_02
      OS: NT40, SP4

      Vielleicht ist es ein Feature von Opera, um die CGI-Schnittstelle zu erweitern ...

      Naja, möglicherweise gibt es da ein paar Einstellungen an "Browsern" die ich nicht so kenne - bisher dachte ich immer: Im Intranet kannst Du alles festlegen, z.B. den Browser: IE4 und Pasta. Aber da gibts doch wirklich welche die mit einem anderen Browser daherkommen...

      Servus, Rolf

  2. Hallo Rolf!

    Ich testete dieses Script nun über den Browser Opera 3.60 und muss feststellen, dass in der Variablen

    AUTH_PASSWORD

    mein Passwort im Klartext ausgegeben wird. Der IE macht das nicht. Ist das ein Bug von Opera?

    Ich verstehe das noch nicht so ganz. Was fuer ein Passwort ist denn das? Das mit dem Du Dich auf Deinem Client anmeldest? Wohl kaum, denn das sollte Opera gar nicht herausfinden koennen, ne? Welches dann?

    Calocybe

    1. Ich testete dieses Script nun über den Browser Opera 3.60 und muss feststellen, dass in der Variablen
      AUTH_PASSWORD
      mein Passwort im Klartext ausgegeben wird. Der IE macht das nicht. Ist das ein Bug von Opera?
      Ich verstehe das noch nicht so ganz. Was fuer ein Passwort ist denn das? Das mit dem Du Dich auf Deinem Client anmeldest? Wohl kaum, denn das sollte Opera gar nicht herausfinden koennen, ne?

      Warum nicht? Der Anwender tippt es doch erst mal in die Box ein, die Opera ihm auf den Bildschirm zaubert. Opera selbst realisiert dann das Authentifizierungsprotokoll mit dem Webserver, verschlüsselt ggf. das Passwort oder was auch immer, weiß aber sehr wohl, was es da getan hat.
      Und wenn Opera es lustig findet, weitere Angaben mitschicken, dann ist im http-Protokoll offenbar genug Platz dafür ...

      Normalerweise sollte es vielmehr die CGI-Anwendung sein, die das Passwort *nicht* kennen darf. Denn wenn ich mich auf einem Webserver authentifizieren muß, heißt das ja noch lange nicht, daß jede CGI-Anwendung alle Passworte kennen darf.
      Ganz im Gegenteil: Die CGI-Anwendung kann die Datei mit den gecrypt()ed abgelegten Passworten zwar möglicherweise auf ihrem Server lesen, aber eben *nicht* verarbeiten.
      Wenn ihr nun der Opera-Browser dieses Passwort schickt, dann gibt er der CGI-Anwendung eine Information, die ihr "dienstgradmäßig" gar nicht zusteht ... die CGI-Anwendung könnte jetzt fröhlich Passworte mitschreiben, und ihr Autor könnte im Besitz dieser Passworte dann via Browser auf Verzeichnisse zugreifen, die nur diesem anderen Benutzer zugänglich sein sollen und ihm selbst nicht (sofern es solche innerhalb desselben Realms gibt).

      So gesehen also möglicherweise eher ein Bug als ein feature ...

      1. Hallo Michael!

        Warum nicht? Der Anwender tippt es doch erst mal in die Box ein, die Opera ihm auf den Bildschirm zaubert. Opera selbst realisiert dann das Authentifizierungsprotokoll mit dem Webserver, verschlüsselt ggf. das Passwort oder was auch immer, weiß aber sehr wohl, was es da getan hat.

        Ich hatte eigentlich das Passwort gemeint, mit dem man sich beim Betriebssystem anmeldet (bei seinem Client eben). Das sollte wirklich keine anwendung einfach abfragen koennen. Aber jetzt hab ich verstanden, was Rolf meinte. Es handelt sich um einen (z.B. ueber .htaccess) geschuetzten Zugang, bei dem man natuerlich dem Browser das Passwort geben muss, damit der das dann uebermittelt. Das war nur aus Rolf's Posting so nicht ersichtlich.

        Und wenn Opera es lustig findet, weitere Angaben mitschicken, dann ist im http-Protokoll offenbar genug Platz dafür ...

        Ja, ist Platz. Ich kenne das HTTP zwar nicht, aber ich weiss z.B. dass normalerweise in der Variablen REMOTE_ADDR die IP-Adresse des anfordernden Rechners steht (naja, auch nicht immer). Wenn dieser aber nicht direkt mit dem Webserver Kontakt aufnimmt, sondern ueber einen Proxy geht, dann steht in dieser Variablen die IP-Adresse des Proxys, die des eigentlichen Clients aber in der *zusaetzlichen* Variablen HTTP_X_FORWARDED_FOR, die es sonst nicht gibt. Ich kann mir das nur so erklaeren, dass der Proxy bei der HTTP-Anforderung die entsprechende Variable irgendwie setzt. Kann das jemand bestaetigen bzw. widerlegen?

        So gesehen also möglicherweise eher ein Bug als ein feature ...

        Sehe ich auch so. Das sollten die Opera-Leute schleunigst was dagegen tun.

        Calocybe

    2. Ich verstehe das noch nicht so ganz. Was fuer ein Passwort ist denn das? Das mit dem Du Dich auf Deinem Client anmeldest? Wohl kaum, denn das sollte Opera gar nicht herausfinden koennen, ne? Welches dann?

      Calocybe

      Hallo Calocybe,

      das WEB liegt auf einem PDC und der IIS4 ist so konfiguriert, dass nur bestimmte USER (die sich auf der Domain anmelden) mit dem Browser das WEB aufrufen können. Das klappt mit dem IE4 so dass keine Passwortabfrage kommt, jedoch Opera fragt ein Passwort ab - und mit meiner Domänenkennung komm ich dann rein.

      Ich muss mir die Serverkonfiguration im IIS sowieso noch einmal anschauen, da gibt es auch noch andere Probleme...

      Erst einmal schönes Wochenende, Rolf