natürlich geht das.. man müsste nur zwei Dateien erstellen und diese die Konfiguration verändern lassen...
Beiträge von Peter
-
-
Über den Kundenbereich wäre es möglich Passwörter bzw. die Kundendatenbank auszulesen. Durch eine geschickte SQL-Injektion ist dies möglich. Folgender Bugfix behebt diese Sicherheitslücken!
suchen Sie in der customer.php nach folgender Codestelle:
Code
Alles anzeigenif($_POST[send] == "forgot_password") { if($_POST[customerid] != "") { if($query) $query .= " AND customerid = '".$_POST[customerid]."'"; else $query = "WHERE customerid = '".$_POST[customerid]."'"; $options += 1; } if($_POST[company] != "") { if($query) $query .= " AND company = '".$_POST[company]."'"; else $query = "WHERE company = '".$_POST[company]."'"; $options += 1; } if($_POST[firstname] != "") { if($query) $query .= " AND firstname = '".$_POST[firstname]."'"; else $query = "WHERE firstname = '".$_POST[firstname]."'"; $options += 1; } if($_POST[name] != "") { if($query) $query .= " AND name = '".$_POST[name]."'"; else $query = "WHERE name = '".$_POST[name]."'"; $options += 1; } if($_POST[email] != "") { if($query) $query .= " AND email = '".$_POST[email]."'"; else $query = "WHERE email = '".$_POST[email]."'"; $options += 1; } if($_POST[address] != "") { if($query) $query .= " AND address = '".$_POST[address]."'"; else $query = "WHERE address = '".$_POST[address]."'"; $options += 1; } if($_POST[zipcode] != "") { if($query) $query .= " AND zipcode = '".$_POST[zipcode]."'"; else $query = "WHERE zipcode = '".$_POST[zipcode]."'"; $options += 1; } if($_POST[city] != "") { if($query) $query .= " AND city = '".$_POST[city]."'"; else $query = "WHERE city = '".$_POST[city]."'"; $options += 1; }und ersetzen Sie diese mit folgender
Code
Alles anzeigenif($_POST['send'] == "forgot_password") { /* Bugfix 17/09/2006 | possible SQL-INJECTION */ $query = ""; if($_POST['customerid'] != "") { if($query) $query .= " AND customerid = '".intval($_POST['customerid'])."'"; else $query = "WHERE customerid = '".intval($_POST['customerid'])."'"; $options += 1; } if($_POST['company'] != "") { if($query) $query .= " AND company = '".addslashes($_POST['company'])."'"; else $query = "WHERE company = '".addslashes($_POST['company'])."'"; $options += 1; } if($_POST['firstname'] != "") { if($query) $query .= " AND firstname = '".addslashes($_POST['firstname'])."'"; else $query = "WHERE firstname = '".addslashes($_POST['firstname'])."'"; $options += 1; } if($_POST['name'] != "") { if($query) $query .= " AND name = '".addslashes($_POST['name'])."'"; else $query = "WHERE name = '".addslashes($_POST['name'])."'"; $options += 1; } if($_POST['email'] != "") { if($query) $query .= " AND email = '".addslashes($_POST['email'])."'"; else $query = "WHERE email = '".addslashes($_POST['email'])."'"; $options += 1; } if($_POST['address'] != "") { if($query) $query .= " AND address = '".addslashes($_POST['address'])."'"; else $query = "WHERE address = '".addslashes($_POST['address'])."'"; $options += 1; } if($_POST['zipcode'] != "") { if($query) $query .= " AND zipcode = '".addslashes($_POST['zipcode'])."'"; else $query = "WHERE zipcode = '".addslashes($_POST['zipcode'])."'"; $options += 1; } if($_POST['city'] != "") { if($query) $query .= " AND city = '".addslashes($_POST['city'])."'"; else $query = "WHERE city = '".addslashes($_POST['city'])."'"; $options += 1; }suchen Sie weiters folgende Codestelle (2 mal!):
Code$row = $db->query_first("SELECT password FROM bb".$n."_customer WHERE customerid = '".$_POST[customerid]."' AND password = '".$password."'");und ersetzen Sie diesen mit folgenden:
Code$row = $db->query_first("SELECT password FROM bb".$n."_customer WHERE customerid = '".intval($_POST['customerid'])."' AND password = '".$password."'"); /* Bugfix 17/09/2006 | possible SQL-Injection */suchen sie weiters folgende Codestelle:
Codeif($_POST[send] == "submitorder") { $row = $db->query_first("SELECT * FROM bb".$n."_customer_products WHERE id = '".$_POST[productid]."'"); $db->query("INSERT INTO bb".$n."_customer_rechnungen (customerid, email, productid, preis, status, time, make_update, installservice, firstname, name, address, zipcode, city, country, company, multilicense, paypal, userid) VALUES ('".$_POST[customerid]."','".$_POST[email]."','".$_POST[productid]."','".$_POST[preis]."',0,'".time()."','".$_POST[update]."','".$_POST[install]."','".$_POST[firstname]."','".$_POST[fname]."','".$_POST[address]."','".$_POST[zipcode]."','".$_POST[city]."','".$_POST[country]."','".$_POST[company]."','".$row['multilicense']."','".$_POST['payment']."','".$wbbuserdata['userid']."')");und ersetzen Sie diese mit folgender:
Code$row = $db->query_first("SELECT * FROM bb".$n."_customer_products WHERE id = '".intval($_POST['productid'])."'"); $db->query("INSERT INTO bb".$n."_customer_rechnungen (customerid, email, productid, preis, status, time, make_update, installservice, firstname, name, address, zipcode, city, country, company, multilicense, paypal, userid) VALUES ('".intval($_POST['customerid'])."','".addslashes($_POST['email'])."','".intval($_POST['productid'])."','".intval($_POST['preis'])."',0,'".time()."','".intval($_POST['update'])."','".intval($_POST['install'])."','".addslashes($_POST['firstname'])."','".addslashes($_POST['fname'])."','".addslashes($_POST['address'])."','".addslashes($_POST['zipcode'])."','".addslashes($_POST['city'])."','".addslashes($_POST['country'])."','".addslashes($_POST['company'])."','".addslashes($row['multilicense'])."','".addslashes($_POST['payment'])."','".$wbbuserdata['userid']."')");suchen Sie weiters nach folgender Codestelle:
und ersetzen Sie diese mit folgender:
Code$row = $db->query_first("SELECT * FROM bb".$n."_customer_products WHERE id = '".intval($id)."'"); /* Bugfix 17/09/2006 | possible SQL-Injection */suchen Sie weiters nach folgender Codestelle:
und ersetzen Sie diese mit folgender:
Code$row = $db->query_first("SELECT * FROM bb".$n."_customer_products WHERE id = '".intval($id)."'"); /* Bugfix 17/09/2006 | possible SQL-Injection */suchen Sie weiters nach folgender Codestelle:
und ersetze Sie diese mit folgender:
Code$filedata = $db->query_first("SELECT * FROM bb".$n."_customer_versions WHERE id = '".intval($id)."'"); /* Bugfix 17/09/2006 | possible SQL-Injection */Suchen Sie in der Datei products.php nach folgender Codestelle
und ersetzen Sie diese mit folgender:
-
ich muss noch andere Dinge vorher erledigen, daher dauert das leider noch. genauere Informationen zu XSS findest du unter: http://de.wikipedia.org/wiki/XSS
-
du musst diese Rechtegruppe (ANNOUNCE) vorher definieren bzw. hinzufügen.
-
es geht hier um die übertragungsmethode.. eine zeile nützt da wenig!
-
was ist $posts? wird das über ein Formular definiert oder was ist das?
-
also mit register_globals = on wird die Variable $theadid automatisch erstellt. Andernfalls musst du es mit meinem Code erstellen.
-
Du kannst ja Variablen per $_GET übertragen. z.b.: addreply.php?threadid=704. Mit register_global wird automatisch die $threadid erstellt und mit dem Inhalt 704 gefüllt. Unter register_global = off musst du das selber machen.
z.B.:
Bei diesem Beispiel wäre es sinnvoll nur Integer Werte (Zahlen) zuzulassen. Also z.B.:
-
ist mir noch nicht aufgefallen. Ich werd schauen...
-
ich kann den Fehler bis jetzt nicht nachvollziehen.
-
Fehler ist bekannt und wird mit der Aktualisierung auf den Standard der Version 3.0 premium behoben werden.
-
du meinst, wenn er bei der Bestelllung bereits Kunde ist?
-
Vielleicht haben diese User die selbe IP (Mehrere Personen in einem Haushalt über einen Router?)
-
Zitat
Original von Ultra2005
unsere db ist grad mal 3.5 mnb großes geht um die Verarbeitung und die ist größer als 8 MB.
-
Ein Backup über mehr als 8 MB des Arbeitsspeichers ist per SecuritySystem basic zur Zeit nicht möglich. Dies wird aber wahrscheinlich in der kommenden Version - wie auch schon in der professional und permium Version vorhanden - möglich sein.
-
beheben können wir dieses Problem nicht, da wir keinen Zugriff auf den Server haben. Schriebe einen Hoster an und sag ihm, dass er solll PHP mit der GD-Bibliothek zur Grafikbearbeitung kompilieren.
ZitatAnforderungen
Mit der GD Bibliothek (verfügbar unter http://www.boutell.com/gd/) können Sie auch Grafiken erzeugen und manipulieren.
Die mittels dieser Funktionen veränderbaren Grafik-Formate hängen davon ab, welche Version von GD Sie installieren und welche zusätzlich Biblioitheken GD benötigt um mit diesen Formaten umgehen zu können. GD-Versionen älter als gd-1.6 unterstützen GIF aber kein PNG. Neuere Versionen als gd-1.6 und ältere als gd-2.0.28 unterstützen PNG, aber kein GIF. In gd-2.0.28 gibt es erstmals wieder Unterstützung für GIF.
Anmerkung: Seit PHP 4.3 ist eine Version der GD-Bibliothek in PHP enthalten. Diese gebündelte Version bietet zusätzliche Möglichkeiten, wie z.B. alpha blending und sollte der externen Version immer vorgezogen werden (der Code wird besser betreut und ist stabiler).
-
Du musst aber folgendes bedenken: Wer benutzt im wbb2 den Standardstyle? Fast niemand. Daher finde ich diese Diskussionen eigentlich sinnlos. Viel wichtiger ist, was man aus dem wbb3 programmiertechnisch alles herrausholen kann. Wenige Wochen nach dem Release der wbb3 beta werden viele Designs von mygen o.ä kommen. Der Standardstyle ist nur ein Featue, was am Anfang benötigt wird und als solches sollte es auch gesehen werden.
-
ich werde mich morgen darum kümmern.
-
dann wäre es besser, wenn ich dir das entferne. Hierzu bräuchte ich haber die MySQL Daten. Wenn du willst, dass ich dir die Einträge entferne, schicke mir bitte die Zugangsdaten per PN.
-
Zitat
Original von LPsteuen
Danke für die Hilfe. Nur habe ich leider noch folgendes Problem.In der Menüleiste erscheint 3 mal der Link zu dem Security Center obwohl ich es lediglich einmal installiert hab bzw einmal das Setup durchlaufen habe.
diese Einträge kannst du nur über das PHPmyAdmin entfernen. Kennst du dich gut mit MySQL Datenbanken aus?