Sicherheitslücken im Kundenbereich v3.0.0

    • Offizieller Beitrag

    Ü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:

    und ersetzen Sie diese mit folgender



    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:

    Code
    if($_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:

    Code
    $row = $db->query_first("SELECT * FROM bb".$n."_customer_products WHERE id = '".$id."'");

    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:

    Code
    $row = $db->query_first("SELECT * FROM bb".$n."_customer_products WHERE id = '".$id."'");

    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:

    Code
    $filedata = $db->query_first("SELECT * FROM bb".$n."_customer_versions WHERE id = '".$id."'");

    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

    Code
    if(isset($_GET['id']))  $id = $_GET['id'];

    und ersetzen Sie diese mit folgender:

    Code
    if(isset($_REQUEST['id']))  $id = intval($_REQUEST['id']); /* Bugfix 17/09/2006 | possible SQL-Injection */