Richtig Quoten
hotti
- html
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
Habt Ihr maln Tipp (einfache wie doppelte Quotezeichen sollen als value sichtbar erscheinen)?
h11,
Habt Ihr maln Tipp (einfache wie doppelte Quotezeichen sollen als value sichtbar erscheinen)?
Mensch, bin ich blöd. DankeDir!!11!!
Horst Lampenputzer
Zusatz zu suits Hinweis
http://rolfrost.de/cgi-bin/findchar.cgi?in=%22><script>alert('hallo%20hotte')</script><
;-)
danke!
http://rolfrost.de/cgi-bin/findchar.cgi?in=%22><script>alert('hallo%20hotte')</script><
;-)
In Zukunft nur noch POST ;-)
Hotti
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
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
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
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?
Horst Spitzklammer
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
h1,
Im Quelltext der CGI-Response ist das eingeschmuggelte Mini-Script jedenfalls drin:
Ooops, das hatte ich übersehen, Danke Dir!!!11
Hoddi
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.
h1,
CGI::texfield(-name=> 'in', -maxlength => 1);
Damit wird das, was du fragst automatisch erledigt.
Danke Dir!!!
Hotti