Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 17

Thema: Zen-Cart Sicherheitspatch September 2008

  1. #1
    Jedi-Ritter Avatar von webchills
    Registriert seit
    30.10.2004
    Ort
    Österreich
    Beiträge
    6.093
    Themen
    85
    DANKE
    3
    Erhaltene Danke: 962

    Standard Zen-Cart Sicherheitspatch September 2008

    Es ist eine Sicherheitslücke in Zen-Cart bkannt geworden, durch die Angreifer Code in die Datenbank einschleusen können.
    Betroffen ist die Datei includes/classes/shopping_cart.php
    Es wird empfohlen, umgehend die hier beschriebenen Änderungen in der shopping_cart.php vorzunehmen:
    http://www.zen-cart.com/forum/showth...473#post604473
    !!! kostenloser Support ausschließlich im Forum - Nicht per Email, nicht per Telefon und nicht per PM !!!

  2. #2
    Padawan Stufe V Avatar von kermie
    Registriert seit
    03.08.2005
    Beiträge
    574
    Themen
    15
    DANKE
    0
    Erhaltene Danke: 0

    Standard

    Dankeschön

  3. #3
    Padawan Stufe III Avatar von matri
    Registriert seit
    14.02.2005
    Beiträge
    207
    Themen
    18
    DANKE
    0
    Erhaltene Danke: 0

    Standard

    merci!

  4. #4
    Padawan Stufe I Avatar von qazsero
    Registriert seit
    09.08.2008
    Beiträge
    26
    Themen
    6
    DANKE
    0
    Erhaltene Danke: 0

    Standard

    werd ich gleich machen

    danke

    bye

  5. #5
    Padawan Stufe V Avatar von kermie
    Registriert seit
    03.08.2005
    Beiträge
    574
    Themen
    15
    DANKE
    0
    Erhaltene Danke: 0

    Standard

    BTW: Ist es erforderlich, die Anleitung unter
    http://www.zen-cart.com/forum/showthread.php?p=604473 ins Deutsche zu transferieren, damit auch die technisch versierten, nicht-englischsprachigen Kollegen etwas davon haben?

  6. #6
    Jedi-Ritter Avatar von webchills
    Registriert seit
    30.10.2004
    Ort
    Österreich
    Beiträge
    6.093
    Themen
    85
    DANKE
    3
    Erhaltene Danke: 962
    Erstellt von

    Standard

    Zitat Zitat von kermie
    BTW: Ist es erforderlich, die Anleitung unter
    http://www.zen-cart.com/forum/showthread.php?p=604473 ins Deutsche zu transferieren, damit auch die technisch versierten, nicht-englischsprachigen Kollegen etwas davon haben?
    klar wär das fein, nur zu
    !!! kostenloser Support ausschließlich im Forum - Nicht per Email, nicht per Telefon und nicht per PM !!!

  7. #7
    Padawan Stufe V Avatar von kermie
    Registriert seit
    03.08.2005
    Beiträge
    574
    Themen
    15
    DANKE
    0
    Erhaltene Danke: 0

    Standard

    Hinweis: Zur Fehlervermeidung und weil ich im Code keine farblichen Hervorhebungen machen kann, holt euch den Code am besten von der englischen Seite!

    Sicherheitswarnung: Risiko eines SQL-Injection-Angriffs

    Im ZenCart wurde eine Sicherheitslücke (Dank an Gulftech Security Research http://www.gulftech.org/?node=webappsec) entdeckt, die Angriffe ermöglicht, wenn in den PHP Settings des Servers der Wert magic_quotes_gpc auf OFF gesetzt ist.

    Zum Prüfen öffnet bitte im Admin-Bereich Eures Shops 'Tools' -> 'Server Info' und sucht nach dem String 'magic_quotes_gpc'.

    Ihr solltet schleunigst die hier angegebenen Fixe in euren Shop einspielen. Bitte achtet auf die von euch verwendete ZenCart-Version:

    Alle fixe betreffen die Datei /includes/classes/shopping_cart.php

    1. Der folgende Fix in zwei Schritten wird für alle Versionen 1.2.x bis 1.3.8a benötigt:

    a) Ca. auf Zeile 300, fügt einfach die u.a. Zeilen hinzu:
    Code:
                  if (is_array($value) ) {
                    reset($value);
                    while (list($opt, $val) = each($value)) {
                     $val = (int)$val;
                      $products_options_sort_order= zen_get_attributes_options_sort_order(zen_get_prid($products_id), $option, $opt);
                      $sql = "insert into " . TABLE_CUSTOMERS_BASKET_ATTRIBUTES . "
                                            (customers_id, products_id, products_options_id, products_options_value_id, products_options_sort_order)
                                            values ('" . (int)$_SESSION['customer_id'] . "', '" . zen_db_input($products_id) . "', '" .
                                            (int)$option.'_chk'. $val . "', '" . $val . "',  '" . $products_options_sort_order . "')";
    
                                            $db->Execute($sql);
                    }
                  } else {
                    if ($attr_value) {
                      $attr_value = zen_db_input($attr_value);
                    }
                    $value = (int)$value;
                    $products_options_sort_order= zen_get_attributes_options_sort_order(zen_get_prid($products_id), $option, $value);
                    $sql = "insert into " . TABLE_CUSTOMERS_BASKET_ATTRIBUTES . "
                                          (customers_id, products_id, products_options_id, products_options_value_id, products_options_value_text, products_options_sort_order)
                                          values ('" . (int)$_SESSION['customer_id'] . "', '" . zen_db_input($products_id) . "', '" .
                                          (int)$option . "', '" . $value . "', '" . $attr_value . "', '" . $products_options_sort_order . "')";
    
                                          $db->Execute($sql);
                  }
    b) Ca. auf Zeile 400 seht ihr einen ganz ähnlichen (aber anderen) Code-Block. Hier bitte ebenfalls die beiden Zeilen hinzufügen:
    Code:
      if (is_array($value) ) {
                reset($value);
                while (list($opt, $val) = each($value)) {
                  $val = (int)$val;
                  $products_options_sort_order= zen_get_attributes_options_sort_order(zen_get_prid($products_id), $option, $opt);
                  $sql = "update " . TABLE_CUSTOMERS_BASKET_ATTRIBUTES . "
                            set products_options_value_id = '" . $val . "'
                            where customers_id = '" . (int)$_SESSION['customer_id'] . "'
                            and products_id = '" . zen_db_input($products_id) . "'
                            and products_options_id = '" . (int)$option.'_chk'.$val . "'";
    
                  $db->Execute($sql);
                }
              } else {
                if (isset($_SESSION['customer_id'])) {
                  $value = (int)$value;
                  $sql = "update " . TABLE_CUSTOMERS_BASKET_ATTRIBUTES . "
                            set products_options_value_id = '" . $value . "', products_options_value_text = '" . $attr_value . "'
                            where customers_id = '" . (int)$_SESSION['customer_id'] . "'
                            and products_id = '" . zen_db_input($products_id) . "'
                            and products_options_id = '" . (int)$option . "'";
    
                  $db->Execute($sql);
                }
              }
    2. Der folgende Fix wird nur für die Versionen 1.3.0 bis 1.3.8a benötigt.

    In Abhängigkeit von der Version findet ihr dieser Bereich ca. von Zeile 1650 bis 1720: Ändert einfach die $prodid= - Zeile in das hier angegebene:
    Code:
      function actionMultipleAddProduct($goto, $parameters) {
        global $messageStack;
        if (is_array($_POST['products_id']) && sizeof($_POST['products_id']) > 0) {
          while ( list( $key, $val ) = each($_POST['products_id']) ) {
            if ($val > 0) {
              $adjust_max = false;
              $prodId = ereg_replace('[^0-9a-f:]', '', $key);
              $qty = $val;
              $add_max = zen_get_products_quantity_order_max($prodId);
    ...
    Bitte prüft nochmal vorm Speichern der Datei, ob hinter dem schliessenden ?> kein weiteres Zeichen stehen, das könnte zu neuen Problemen führen.

    Diese Änderung wird für künftige ZenCart-Versionen übernommen.

  8. #8
    Jedi-Ritter Avatar von webchills
    Registriert seit
    30.10.2004
    Ort
    Österreich
    Beiträge
    6.093
    Themen
    85
    DANKE
    3
    Erhaltene Danke: 962
    Erstellt von

    Standard

    super Sache, Danke für die Übersetzung!
    !!! kostenloser Support ausschließlich im Forum - Nicht per Email, nicht per Telefon und nicht per PM !!!

  9. #9
    Jedi-Ritter Avatar von webchills
    Registriert seit
    30.10.2004
    Ort
    Österreich
    Beiträge
    6.093
    Themen
    85
    DANKE
    3
    Erhaltene Danke: 962
    Erstellt von

    Standard WICHTIGES UPDATE ZUM SICHERHEITSPATCH

    Der hier gepostete Patch wurde mittlerweile modifiziert, weil die beschriebenen Änderungen in der shopping_cart.php dazu führen können, dass Artikel nicht mehr korrekt in den Warenkorb gelegt werden können.

    Der neue Patch ist attached und sollte unbedingt eingespielt werden.
    Datei entpacken und in folgendes Verzeichnis spielen:
    includes/extra_configures

    Wichtig:
    Wer bereits seine includes/classes/shopping_cart.php wie weiter oben beschreiben geändert hat, muss zusätzlich in der includes/classes/shopping_cart.php folgende Änderung durchführen:
    Folgende Zeile suchen:
    Code:
    $prodId = ereg_replace('[^0-9a-f:]', '', $key);
    Und ersetzen mit:
    Code:
    $prodId = ereg_replace('[^0-9a-f:.]', '', $key);
    Wer die Datei vorher nicht geändert hatte, muss nichts tun, nur den attachten Patch einspielen.

    Weitere Informatione dazu hier:
    http://www.zen-cart.com/forum/showthread.php?t=108428
    !!! kostenloser Support ausschließlich im Forum - Nicht per Email, nicht per Telefon und nicht per PM !!!

  10. #10
    Padawan Stufe II Avatar von neworker
    Registriert seit
    23.03.2006
    Beiträge
    118
    Themen
    38
    DANKE
    0
    Erhaltene Danke: 0

    Standard

    Hallo,

    erstmal danke für den Hinweis und den sehr guten Support!

    Ich habe mir das mal angeschaut und finde diese Sicherheitslücke sehr bedenklich!

    Ich habe von webchills die Datei "security_patch_v138_20080919.php" in den Ordner extra_configures gespeichert. Seit Ihr sicher das die Sicherheitslücke damit behoben wurde? Prüft zen-cart bei jeder Bestellung den Ordner extra_configures? Ich habe die Version 1.3.7.

    Allen ein schönes Wochenende.

    Gruß neworker

Seite 1 von 2 12 LetzteLetzte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  
zen-cart-pro.at
Zen Cart ist eine kostenlose unter der GPL-Lizenz veröffentlichte Open-Source Shopsoftware. Das System wird in den USA entwickelt, die amerikanische Website dazu ist www.zen-cart.com

Die deutsche Zen-Cart Version, um die es hier auf zen-cart-pro.at geht, ist eine Anpassung der amerikanischen Version an die Bedürfnisse von Onlineshopbetreibern im deutschsprachigen Raum.

Die deutsche Zen Cart Version wird von einem Team von Entwicklern in Österreich und Deutschland betreut, weiterentwickelt und supportet und steht kostenlos in unserem Downloadbereich zur Verfügung.

[mehr]
Follow Us
  • zen-cart-pro-at auf Twitter
  • zen-cart-pro-at auf Github
  • zen-cart-pro-at auf SourceForge
Aktuelle Version
Zen Cart 1.5.5 deutsch
Revision 1188 vom 02.12.2016
[Download]