phpbar.de logo

Mailinglisten-Archive

[php] Cross-Site-Scripting (XSS) Schutz mit PHP

[php] Cross-Site-Scripting (XSS) Schutz mit PHP

Ivan Schmid php_(at)_phpcenter.de
Fri, 11 Oct 2002 01:00:35 +0200


Hallo

From: "Roland Tapken" <tapken_(at)_engter.de>
> Hi!
>
> > Das ist ja in der Theorie sicher sehr interessant, jedoch nützt mir
> > die Authentizität der Verbindung nicht sehr viel, da 1. die Site frei
> > zugänglich ist und 2. sich die Authentizität auf eine IP-Adresse
> > beschränkt. Ein XCC Angriff kann auf JEDER Seite erfolgen (Bsp:
> >
http://target.de?was=<=<scri*pt>JavaScript:alert('document.cookie');</scri*p
> > t> )!
>
<snip><snip>
>
> Wenn du register_globals nicht verändern kannst, dann gibt es einen
> kleinen Workaround:
>
> Am Anfang des Scriptes (d.h. bevor andere Teile des Scriptes
> irgendwelche Variablen setzen) folgende Schleife einbauen:
>
> foreach ($_POST AS $key => $val) {
>     if (${$key} == $val) {
>         unset (${$key});
>     }
> }
> foreach ($_GET AS $key => $val) {
>     if (${$key} == $val) {
>         unset (${$key});
>     }
> }
> foreach ($_COOKIE AS $key => $val) {
>     if (${$key} == $val) {
>         unset (${$key});
>     }
> }
>
> Diese Schleifen löschen globale Variabeln wenn ihr Inhalt mit den von
> außen übermittelten Variablen identisch ist.

Vielen Dank! Dies ist wirklich einen guten Ansatz um nicht definierte
Variablen zu löschen!
Nun müssen "NUR" noch die definierten Variablen genutzt werden ;-)

/IVAN
http://www.astalavista.net/


php::bar PHP Wiki   -   Listenarchive