Keiner der genutzten Variablen wird deklariert, das einschalten des Error-Reportings produziert mehr Notice-Meldungen als Text auf der Webseite steht (Alleine die "anmeldung.php" beinhaltet mehr als 40 solcher Meldungen)
Jede Datei, die aufgerufen wird, erzeugt ein neuen DB-Connect (bei 2000 Usern geht da auch schonmal ein VPS in die Knie), register_globals=on, anders läuft es nicht, das ganze Script ist extrem anfällig für PHP/SQL-Injection, da nicht 1 übergebene Variable geprüft wird, alles was in die DB soll, wird ungeprüft (nichtmal addslashes oder htmlentities) in die DB geschrieben.
Cross-Site-Scripting ist jederzeit und ohne Probleme möglich. Im großen und ganzen ist das Script eine einzige fette Sicherheitslücke.
Das ist die "anmeldeung.php" mit eingeschalteten Error-Reporting:
http://www.money-island.eu/images/mt/mt01.png
http://www.money-island.eu/images/mt/mt02.png
http://www.money-island.eu/images/mt/mt03.png
Andere Dateien des Scriptes sehen genauso oder noch schlimmer aus.
@ Body2712 Das Script ist so weit verbreitet, weil es nur ca 20 Cent kostet und die Leute keine Ahnung davon haben.
Die SQL-Query, welche die Daten des neuen Users in die DB schreibt:
Die Variablen, welche da genutzt werden, könnten jeden Wert haben, zb. einen User-Namen oder ein Javascript (welche umgehend die DB zerbröselt) o.ä.PHP-Code:
mysql_query("insert into mt_user (user,pwd,vorname,nachname,strasse,plz,ort,telefon,fax,land,email,lastaction,mailsamtag,freecode,geworbenvon,popup,popupanzahl,kat1,kat2,kat3,kat4,kat5,kat6,kat7,kat8,kat9,kat10,kat11,kat12,kat13,kat14,kat15,kat16,kat17,kat18,kat19,kat20,kat21,kat22,kat23,kat24) values ('$user','$pwd','$vorname','$nachname','$strasse','$plz','$ort','$telefon','$fax','$land','$email','$azeit','$mailsamtag','$freecode','$uref','$popup','$popupanzahl','$kat1','$kat2','$kat3','$kat4','$kat5','$kat6','$kat7','$kat8','$kat9','$kat10','$kat11','$kat12','$kat13','$kat14','$kat15','$kat16','$kat17','$kat18','$kat19','$kat20','$kat21','$kat22','$kat23','$kat24')");