Schrift
[thread]624[/thread]

CGI Sicherheit: Vermeidung gefährlicher Inhalte (Seite 5)

Leser: 2


<< |< 1 2 3 4 5 6 7 8 ... 17 >| >> 166 Einträge, 17 Seiten
pq
 2005-12-15 18:07
#6158 #6158
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
[quote=Bauhaus,15.12.2005, 17:03]Sorry - ich hatte das so gesehen dass die [ ... ] Klammerung ein Sicherheitssystem darstellen soll.[/quote]
soll sie ja auch.

ich gebe [ b] ein und es wird [ b] gespeichert. beim anzeigen im forum
wird <b> angezeigt.

ich gebe <evil> ein und es wird <evil> gespeichert. beim anzeigen im forum
wird &lt;evil&gt; im quellcode angezeigt.

wo genau siehst du jetzt ein problem?
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
Antworten mit Zitat
Gast Gast
 2005-12-15 18:10
#6159 #6159
[quote=pq,15.12.2005, 17:02][quote=Bauhaus,15.12.2005, 16:58]Und was mache ich, wenn jemand innerhalb eines 'textareas' schreibt:
mein script funktioniert nicht und mein system dreht durch[/quote]
stimmt, daran habe ich noch gar nicht gedacht.
das könnte echt den rechner zum explodieren bringen.[/quote]
Jetzt läuft es aus dem Ruder - schade ...
Wenn ich genau wüsste wie das Problem zu lösen ist, dann hätte ich den Thread nicht aufgemacht.
Ich hatte eigentlich erwartet eine sachlich Diskussion über ein Thema das mich bewegt, führen zu können.
Warum kommt jetzt Zynismus?
Antworten mit Zitat
pq
 2005-12-15 18:16
#6160 #6160
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
entschuldigung, aber was soll der string "mein script funktioniert nicht und mein
system dreht durch" für einen schaden anrichten? wenn ich das gefühl
habe, verkohlt zu werden, dann verkohl ich halt zurück.

edit: was vergessen\n\n

<!--EDIT|pq|1134664098-->
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
Antworten mit Zitat
esskar
 2005-12-15 18:26
#6161 #6161
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
[quote=Bauhaus,15.12.2005, 16:58]mein script funktioniert nicht und mein system dreht durch[/quote]
was soll denn daran gefährlich sein?
Antworten mit Zitat
Gast Gast
 2005-12-15 18:36
#6162 #6162
[quote=pq,15.12.2005, 17:16]entschuldigung, aber was soll der string "mein script funktioniert nicht und mein
system dreht durch" für einen schaden anrichten? wenn ich das gefühl
habe, verkohlt zu werden, dann verkohl ich halt zurück.

edit: was vergessen[/quote]
esskar hatte geschrieben:
Quote
jetzt parst du den String (z.b. mit HTML::Parser) und schaust dir die tags an. falls du ein tag findest, dass nicht in der whitelist ist (wie z.b. script) dann, machst du es unschädlich.

Darauf bezog sich meine Atwort.

Wenn ich das so mache wie esskar schrieb, dann entsteht
aus:
"mein script funktioniert nicht und mein
system dreht durch"
beim Output der folgende Satz:
"mein funktioniert nicht und mein dreht durch"

Es liegt mir völlig fern hier jemanden "verkohlen" zu wollen.
Bin nur etwas "doof" und versuche hier mich "schlau" zu machen.
Antworten mit Zitat
Strat
 2005-12-15 18:39
#6163 #6163
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
Ich habe den Thread nicht genau verfolgt, aber hier meine 10c:

gefaehrlich kann ein print in eine Datei nur dann werden, wenn man anhand der Daten in dieser Datei irgendwelche Aktionen veranlasst, oder wenn ein script/programm geschrieben wird, das ausgefuehrt werden kann.

Eine allgemeine Empfehlungen zur Sicherheit:
fast immer ist es besser, wenn man nur gewisse zeichen zulaesst und alle anderen rauswirft (ev. mit Fehlermeldung). Beim Weg, alles verbotene rauszuloeschen uebersieht man schnell was (gerade bei Unicode), und handelt sich so leichter Probleme ein.

x) Wenn Du nicht willst, dass irgendwelche HTML-Befehle (inkl. Javascript etc.) verwendet werden koennen, dann escape den String (z.B. mit CGI::escapeHTML); ob du das vor dem Schreiben in die Datei oder ob du das nach dem Lesen und vor der Ausgabe machst, ist fuer die Sicherheit meistens ziemlich egal. Meist ist es guenstiger, wenn man das schon vor dem Schreiben in die Datei/Datenbank macht, weil i.d.R. haeufiger gelesen als geschrieben wird.

x) Wenn du nur ein paar HTML-Tags zulassen willst (z.B. <b>, <u>, nicht aber <textarea>), dann solltest du dir grundsaetzlich ueberlegen, ob du erstens diese Tags direkt eingeben laesst oder ob du zweitens nicht auf BBCode ausweichst (indem du [ b ]..[/ b] oder [ u ]...[ /u ] tippen laesst).

1.) das ist ein wenig schwieriger, weil du dir vermutlich selbst einen parser schreiben musst, der <b> und </b> und < b > etc. in ruhe laesst, alle anderen Tags aber zu &lt;textarea&gt; etc. macht

2.) Dafuer gibt es auf CPAN schon fertige Module... CPAN:BBCode

habe ich die Frage in etwa erfasst?\n\n

<!--EDIT|Strat|1134665225-->
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
Antworten mit Zitat
esskar
 2005-12-15 18:40
#6164 #6164
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
tag != wort, d.h. ein tag ist z.b. <b> oder </b> oder <script ... >
verstehst ?
Antworten mit Zitat
Gast Gast
 2005-12-15 19:10
#6165 #6165
Ja strat; das war so ziemlich der Kern der Frage - Danke.
Wäre das auch eine Möglichkeit
Code: (dl )
$form{$key} =~ s/([^\s\w:.,@%-])/sprintf("&#x%X;", ord($1))/ge; 

oder müsste ich tatsächlich nach Hex umwandeln?
Antworten mit Zitat
Gast Gast
 2005-12-15 19:23
#6166 #6166
[quote=esskar,15.12.2005, 17:40]tag != wort, d.h. ein tag ist z.b. <b> oder </b> oder <script ... >
verstehst ?[/quote]
Ich verstehen ;)
Meinst du vielleicht sowas?
Code: (dl )
1
2
$form{$key} =~ s/(<\s*)($exclude)/<\!\-\-$1x$2/ig;
$form{$key} =~ s/(<\s*\/+)($exclude\s*>)/\$1x$2\-\-\>/ig;

Hab's gerade getestet - funktioniert.

Edit:
funktioniert mit 'ner Schleife über 'ne Liste\n\n

<!--EDIT|Bauhaus|1134667613-->
Antworten mit Zitat
esskar
 2005-12-15 20:19
#6167 #6167
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
exclude könnte schlecht sein, da muss mann ggf zuviel angeben...
Antworten mit Zitat
<< |< 1 2 3 4 5 6 7 8 ... 17 >| >> 166 Einträge, 17 Seiten



View all threads created 2005-12-12 17:10.