cgicorner.ch

Informationen rund um Perl/CGI

Sie sind hier: Home > Forum
Yet Another Bulletin Board

Willkommen, Gast. Bitte Einloggen oder Registrieren.
21. Oktober 2021 um 03:22

Übersicht Übersicht Hilfe Hilfe Suche Suche Mitglieder Mitglieder Einloggen Einloggen Registrieren Registrieren
cgicorner.ch « Schadcode »


   cgicorner.ch
   Hilfe
   cal

   Schadcode
« Kein Thema | Nächstes Thema »
Seiten: 1  Antworten Antworten Bei Antworten benachrichtigen Bei Antworten benachrichtigen Drucken Drucken
   Autor  Thema: Schadcode  (Gelesen 9131 mal)
Turhan
YaBB Newbie
*



I love YaBB 1G - SP1!

   


Beiträge: 4
Schadcode
« am: 19. Februar 2013 um 19:27 »
Zitieren Zitieren Bearbeiten Bearbeiten

Was es ist,was es macht...
http://de.wikipedia.org/wiki/Cross-Site-Scripting
 
Hallo Jürg,
Ein kod, den man ausführen kann beim Titel oder Detail eingabe beim cal.
alert(String.fromCharCode(88,83,83))//\';alert(String.fromCharCode(88,83 ,83))//";alert(String.fromCharCode(88,83,83))//\";alert(String.fromCharC ode(88,83,83))//--></SCRIPT>">'><SCRIPT>alert(String.fromCharCode(88,83, 83))</SCRIPT>
 
Wenn das bei manchem funzt habe ich ohne viel CGI erfahrung dies umgestellt, fehler sind meine Korrekturen deine Jürg  Cheesy
 
Wass ich machte...
 
4x vorhanden.
Suche
$FORM{"title"}=~ s/[\t\r\n]/ /g;
Ersetze mit
$FORM{"title"}=~ s/[^A-Za-z0-9 ]/ /g;
 
Suche
$FORM{"detail"}=~ s/\t/ /g;
Ersetze mit
$FORM{"detail"}=~ s/[^A-Za-z0-9 ]/ /g;
 
Suche Zeile ca.1884
my $title=$_[4];
 $title=~ s/\"/"/g;
Ersetze mit
my $title=$_[4];
 $title=~ s/[^A-Za-z0-9 ]/ /g;
 
Suche Zeile ca.1886
my $detail=$_[5];
 $detail=&zeilenUmbruch($detail, "§§", 1);
 $detail=htmlentities($detail);
Ersetze mit
my $detail=$_[5];
 $detail=&zeilenUmbruch($detail, "§§", 1);
 $detail=~ s/[^A-Za-z0-9 ]/ /g;
 
das wars, jetzt funzt zwar kein umbruch und kein Html code aber scheint bei mier das XSS attacke zu blockieren...
 
Scheff mein Frage, ist es so ok? Das cal.cgi  habe ich auf Kodierung UTF-8 umgestellt und Gespeichert hat es nachteile oder kann ich das so lassen?  
 
Herzliche grüsse aus Jörmeny der Turhan mit Turban
 
 
 Kiss
gespeichert
cgicorner.ch
YaBB Administrator
*****




Board Admin

   
Homepage E-Mail

Geschlecht: male
Beiträge: 790
Re: Schadcode
« Antworten #1 am: 19. Februar 2013 um 19:44 »
Zitieren Zitieren Bearbeiten Bearbeiten

Hallo Turhan
 
Danke für die Info. Da viele Nutzer explizit HTML-Code wünschen (z.B. Bilder) bin ich bei cal das Risiko einer XSS Attacke eingegangen.
 
Das von dir beschriebene Vorgehen funktioniert grundsätzlich einwandfrei. Du grenzt natürlich damit die Anzahl erlaubter Zeichen massiv ein (auch keine Umlaute, Bindestriche, Punkte, Kommas und andere Satzzeichen etc.). Sehr radikal, aber es funktioniert.
 
Etwas harmloser wäre es gewesen, einfach < und > in die Liste der durch ein Leerzeichen zu ersetzenden Zeichen aufzunehmen, also z.B.
 
$FORM{"title"}=~ s/[\t\r\n]/ /g;
ersetzen durch
$FORM{"title"}=~ s/[\t\r\n<>]/ /g;
 
(im zweiten Beispiel, in dem nur \t ersetzt wird sind dann noch eckige Klammern notwendig, also statt "\t" dann halt "[\t<>]").
 
Wenn deine Lösung für dich ausreicht: etwas brutal aber sicher ist sie und cal müsste auch funktionieren. Wenn die Einschränkungen zu fest stören kannst du ja es mit der der oben erwähnten Anpassung etwas "entschärfen".
 
Gruss
Jürg
gespeichert

cgicorner.ch - Informationen rund um Perl/CGI
Jürg Sommer
Turhan
YaBB Newbie
*



I love YaBB 1G - SP1!

   


Beiträge: 4
Re: Schadcode
« Antworten #2 am: 19. Februar 2013 um 20:09 »
Zitieren Zitieren Bearbeiten Bearbeiten

yuhhuu es funzt tadellos,bist ein Goldstück Jürg Danke.
gespeichert
Seiten: 1  Antworten Antworten Bei Antworten benachrichtigen Bei Antworten benachrichtigen Drucken Drucken

« Kein Thema | Nächstes Thema »

cgicorner.ch » Powered by YaBB 1 Gold - SP3!
YaBB © 2000-2004. All Rights Reserved.