hotti: Richtig Quoten

H1,

input value='$c' soll nach einer Eingabe vorbelegt werden. Ist jedoch die Eingabe $c das Zeichen ('), erscheint das nicht als value im Form. Ein eigegebenes Zeichen (") hingegen wird in den value geschrieben. Notiere ich

input value="$c"

verhält es sich mit den Anführungszeichen genau umgekehrt.

http://rolfrost.de/cgi-bin/findchar.cgi

Habt Ihr maln Tipp (einfache wie doppelte Quotezeichen sollen als value sichtbar erscheinen)?

Hotti

  1. Habt Ihr maln Tipp (einfache wie doppelte Quotezeichen sollen als value sichtbar erscheinen)?

    http://www.w3.org/International/questions/qa-escapes

    1. h11,

      Habt Ihr maln Tipp (einfache wie doppelte Quotezeichen sollen als value sichtbar erscheinen)?

      http://www.w3.org/International/questions/qa-escapes

      Mensch, bin ich blöd. DankeDir!!11!!

      Horst Lampenputzer

  2. Zusatz zu suits Hinweis

    http://rolfrost.de/cgi-bin/findchar.cgi?in=%22><script>alert('hallo%20hotte')</script><

    ;-)

    1. danke!

      http://rolfrost.de/cgi-bin/findchar.cgi?in=%22><script>alert('hallo%20hotte')</script><

      ;-)

      In Zukunft nur noch POST ;-)

      Hotti

      --
      Wenn der Kommentar nicht zum Code passt, kann auch der Code falsch sein.
      1. Hallo,

        http://rolfrost.de/cgi-bin/findchar.cgi?in=%22><script>alert('hallo%20hotte')</script><
        In Zukunft nur noch POST ;-)

        was ändert das an der Anfälligkeit solcher Konstruktionen?

        Ciao,
         Martin

        --
        Gültig sind Frauen ab 16, wohlgeformt ab 160 Pfund.
          (Gunnar Bittersmann)
        1. http://rolfrost.de/cgi-bin/findchar.cgi?in=%22><script>alert('hallo%20hotte')</script><
          In Zukunft nur noch POST ;-)

          was ändert das an der Anfälligkeit solcher Konstruktionen?

          Sie stirbt in Schönheit.

          mfg Beat

          --
          ><o(((°>           ><o(((°>
             <°)))o><                     ><o(((°>o
          Der Valigator leibt diese Fische
          1. h1,

            Sie stirbt in Schönheit.

            So nach dem Motto: Gekocht hab ich nix, aber guck mal, wie ich da liege :D

            Viele Grüße,
            Horst Haselhuhn

            --
            Schuld daran ist nur die SPD (Rudi Carrell).
        2. h3,

          http://rolfrost.de/cgi-bin/findchar.cgi?in=%22><script>alert('hallo%20hotte')</script><
          In Zukunft nur noch POST ;-)

          was ändert das an der Anfälligkeit solcher Konstruktionen?

          Teste Es

          Horst Spitzklammer

          1. Tach,

            In Zukunft nur noch POST ;-)
            was ändert das an der Anfälligkeit solcher Konstruktionen?
            Teste Es

            hab ich. Und wenn mein Browser einen Persilschein für Javascript hätte, dann wäre immer noch ein alert-Fenster aufgepoppt. Im Quelltext der CGI-Response ist das eingeschmuggelte Mini-Script jedenfalls drin:

            <p>Zeichen: %22><script>alert("hallo%20hotte")</script><%22 Codepoint: U+0025</p>

            Wenn ich das Prinzip noch etwas verfeinere, bekomme ich auch noch eine auf Quellcodeebene "saubere" Antwort mit Javascript-alert hin.

            Es ist okay, wenn du vom Eingabestring, den du per POST bekommst, nur das erste Zeichen auswertest. Trotzdem ist es nicht fein, wenn du den kompletten Eingabestring wieder unmaskiert in der Ausgabe einbaust. Hier könnte man noch sagen: Wer Unfug eingibt, kriegt auch Unfug zurück. Aber mir geht's ums Prinzip.

            Worauf ich aber eigentlich hinaus wollte: Ob du die Formulardaten per GET oder per POST verschickst, ist eigentlich Nebensache. Man kann dir in beiden Fällen unerwartete und unerwünschte Eingaben unterschieben.

            So long,
             Martin

            --
            Warum können wir heute so sicher sagen, dass Gott keine Frau sein kann?
            Weil dann nach "Es werde Licht" der nächste Satz "Wie sieht denn das hier aus?!" gewesen wäre.
            1. h1,

              Im Quelltext der CGI-Response ist das eingeschmuggelte Mini-Script jedenfalls drin:

              Ooops, das hatte ich übersehen, Danke Dir!!!11

              Hoddi

  3. input value='$c' soll nach einer Eingabe vorbelegt werden. Ist jedoch die Eingabe $c das Zeichen ('), erscheint das nicht als value im Form. Ein eigegebenes Zeichen (") hingegen wird in den value geschrieben. Notiere ich

    input value="$c"

    verhält es sich mit den Anführungszeichen genau umgekehrt.

    Und da du leider auch jemand bist, der das CGI Modul (einige 100 KB) nur für die param() Funktion einbindet, der Hinweis auf die passende Funktion:

    CGI::texfield(-name=> 'in', -maxlength => 1);

    Damit wird das, was du fragst automatisch erledigt.

    Struppi.

    1. h1,

      CGI::texfield(-name=> 'in', -maxlength => 1);

      Damit wird das, was du fragst automatisch erledigt.

      Danke Dir!!!

      Hotti