PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Mißbrauch von HTML Code



Romanday
15-01-2006, 14:28
Die User sollen die Möglichkeit bekommen per Formular Code (HTML)
in eine DB einzufügen.

Um einen Mißbrauch zu erschweren + verhindern,
möchte ich bestimmte Tags automatisch löschen z. B.

- Javascript
- <img Tags>
- <iframe>

Bei welchen Tags sind noch wichtig, welche man auschließen oder
modifizieren sollte.

nEox
15-01-2006, 14:35
Hi Romanday,

CSS würde ich noch entfernen (auch link-Tags).

Aber kannst du nicht BB-Code oder so verwenden? Weil sobald dein Filter einen Fehler hat ist dein Skript wieder unsicher. Ich halte es für das beste HTML komplett zu verbieten und alles über festgelegte Tags formatierbar zu machen.

PHP Filter gibt es hier:
http://www.owasp.org/software/labs/phpfilters.html

Grüße,
nEox

Romanday
15-01-2006, 17:15
Hi Romanday,

CSS würde ich noch entfernen (auch link-Tags).

Aber kannst du nicht BB-Code oder so verwenden? Weil sobald dein Filter einen Fehler hat ist dein Skript wieder unsicher. Ich halte es für das beste HTML komplett zu verbieten und alles über festgelegte Tags formatierbar zu machen.

PHP Filter gibt es hier:
http://www.owasp.org/software/labs/phpfilters.html

Grüße,
nEox

HTML komplett verbieten geht bei unserem neuen Projekt leider nicht.
BB Code geht auch nicht so einfach, sonst muß ich den vorgefertigten
HTML Editor komplett umschreiben.
Warum sollte ich CSS verbieten? Um das Laden externer Grafiken
zu unterbinden?

(In punkto Sicherheit, geh ich davon aus das ich bestimmt etwas
vergesse, oder übersehe. Das ist aber nicht weiter schlimm, da
es genug Probierfixe gibt die mir indirekt helfen.:D

Ich dreh mir meinen Krams lieber selber zusammen, als mich auf
fremden Code zu verlassen.)

nEox
15-01-2006, 20:05
Hi Romanday,


Warum sollte ich CSS verbieten? Um das Laden externer Grafiken
zu unterbinden?
Um CSRF (http://de.wikipedia.org/wiki/CSRF) zu vermeiden und damit deine Seite nicht verunstaltet werden kann.

Mit ist bei HTML Eingaben (allgemein Usereingaben) immer etwas unwohl, bin bei sowas halt paranoid :rolleyes:

Muss sich der Benutzer bei eurem Projekt authentifizieren um nachvollziehen zu können wer was angestellt hat?

Viele Grüße,
nEox

Romanday
16-01-2006, 07:19
Hi Romanday,
Muss sich der Benutzer bei eurem Projekt authentifizieren um nachvollziehen zu können wer was angestellt hat?

Viele Grüße,
nEox

Ja, muß er.
Leider gibt es auch Demo Accounts wo diese Funktion auch zur Verfügung steht.
Werde es umgekehrt machen. Nur eine Aufzählung von Tags zulassen.

nEox
16-01-2006, 18:51
Hi Romanday,


Nur eine Aufzählung von Tags zulassen.
Stimmt dürfte auch recht einfach sein. Bei strip_tags (http://php.net/strip_tags) kann man ja die Tags angeben die man behalten will. Wobei in den Comments von strip_tags zu lesen ist, dass die Funktion nicht allzu gut vor Attacken schützt.

Hauptsache JavaScript wird entfernt, dann ist die größte Gefahrenquelle behoben.

Grüße,
nEox

Romanday
16-01-2006, 19:29
Hi Romanday,

Hauptsache JavaScript wird entfernt, dann ist die größte Gefahrenquelle behoben.

Grüße,
nEox

Stimmt.
(Hatte eBay lange Zeit nicht verstanden.:)

Werde auch eine Menge Sonderzeichen automatisch löschen.
Das ist das nicht mehr einfach eine BadString zu konstruieren.
(Aus Sicherheitsgründen sind Frames, CSS, Java,
Javascript und Links zu externen Datenquellen nicht erlaubt.)