Robert Bienert: textarea vs. textarea

Beitrag lesen

Sagen dir htmlspecialchars() bzw. htmlentities() was? Das könnten hübsche Lösungen des Problems sein. Damit bekommst du auch das XSS-Problem in den Griff, was ich beschrieben habe.

Die Befehle sind mir fremd. Ich habe davon schon einmal ganz flüchtig gehört aber woher kommen sie und wie werden die eingesetzt?

Beide Funktionen ersetzten gewisse HTML-Sonderzeichen in ihre maskierte Form, htmlspecialchars() macht aus < &lt;, > &gt;, & &amp;, " &quot;. htmlentities() ersetzt sogar diverse Sonderzeichen wie Umlaute. Schau mal hier vorbei: http://www.php.net/manual/de/function.htmlspecialchars.php, http://www.php.net/manual/de/function.htmlentities.php

Hm, dann solltest du vielleicht den Autor dieses Programmes darauf hinweisen oder selbst dieses Tool hacken. Immerhin sehe ich da eine gravierende Sicherheitslücke.

Wie entshet denn diese Lücke?

Nun, wenn der Text aus der Datenbank wird direkt ins textarea eingefügt, das heißt, wenn ich irgendwie Folgendes in die Datenbank als Artikel einfügen kann, wirst du bei jedem Bearbeiten dieses Artikels freundlich begrüßt:

<script type="text/javascript" language="JavaScript">
<!--
alert('Viel Spaß beim Arbeiten!');
//-->
</script>

Auf diese Weise kann ich aber auch Popus öffnen, diverse Sicherheitslücken von Browsern ausnutzen, Cookie-Daten stehlen, ...

Gruß, Robert