Ankündigung

Einklappen
Keine Ankündigung bisher.

Zen-Cart Sicherheitspatch September 2008

Einklappen
Dieses Thema ist geschlossen.
X
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • hugo13
    antwortet
    Entpacken und in folgendes Verzeichnis spielen:
    includes/extra_configures
    also NICHT nach admin/incl...

    Einen Kommentar schreiben:


  • mano
    antwortet
    Wo mus der Patch eingespielt ?
    in shop/includes/extra_configures, oder
    in admin/includes/extra_configures

    Danke

    Einen Kommentar schreiben:


  • jpp
    antwortet
    :lol:
    Hallo habe den Patch eingespiel, funtioniert gut. Danke!

    Einen Kommentar schreiben:


  • webchills
    antwortet
    @dragonius
    Laut Dr. Byte in folgendem Thread:

    "ALL v1.2.x and v1.3.x STORES SHOULD INSTALL THIS SIMPLE PATCH"
    Dr. Byte ist immer ernst zu nehmen
    Würde also die Datei in includes/extra_configures spielen, mehr ist es eh nicht.

    Einen Kommentar schreiben:


  • neworker
    antwortet
    @webchills,

    danke für die Erklärung und dem Link.

    Einen Kommentar schreiben:


  • dragonius
    antwortet
    Hallo kermie,

    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.
    Bei mir steht die magic_quotes_gpc auf on. Habe ich das richtig verstanden, dass ich dieses Patch dann nicht installieren muss???
    Danke für deine Antwort
    LG
    Dragonius

    Einen Kommentar schreiben:


  • webchills
    antwortet
    Zitat von neworker
    Prüft zen-cart bei jeder Bestellung den Ordner extra_configures?
    Alle Files in Ordner includes/extra_configures werden automatisch included bei jedem Seitenaufruf, nicht nur bei Bestellungen. Daher ist das ein wirksamer Ort für einen Patch.
    Es gibt noch einige andere Verzeichnisse, deren Dateien automatisch aufgerufen werden, eine gute Beschreibung dieses System findest Du unter ‘extra’ Files Automatic Inclusion hier:

    Einen Kommentar schreiben:


  • neworker
    antwortet
    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

    Einen Kommentar schreiben:


  • webchills
    antwortet
    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:

    Einen Kommentar schreiben:


  • webchills
    antwortet
    super Sache, Danke für die Übersetzung!

    Einen Kommentar schreiben:


  • kermie
    antwortet
    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.

    Einen Kommentar schreiben:


  • webchills
    antwortet
    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

    Einen Kommentar schreiben:


  • kermie
    antwortet
    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?

    Einen Kommentar schreiben:


  • qazsero
    antwortet
    werd ich gleich machen

    danke

    bye

    Einen Kommentar schreiben:


  • matri
    antwortet
    merci!

    Einen Kommentar schreiben:

Info zu diesem Forenarchiv:
Mit Release von 1.5.7 wurde die deutsche Zen Cart Version auf eine reine DIY-Lösung umgestellt.
Für einen Support via Forum stehen keine personellen und zeitlichen Ressourcen mehr zur Verfügung.
Dieses Supportforum bleibt im Nur-Lesen-Modus als Wissensarchiv noch online verfügbar.
PM Funktionalität, Registrierung und Posten neuer Beiträge sind deaktiviert.
Zugriff auf Anhänge in den Postings ist auch ohne Registrierung/Einloggen möglich.
FAQ und Downloadbereich des Forums wurden in die neue umfangreiche Knowledgebase auf der zen-cart-pro.at Website übernommen.

Das Development der deutschen Zen Cart Version geht wie bisher auf Github weiter.
Wir werden auch weiterhin neue Versionen bereitstellen und die Onlinedokumentation/Knowledgebase aktualisieren.
Fehler in der Software können auf Github als Issues gemeldet werden.
Follow us
aktuelle version
Zen Cart 1.5.7j deutsch
vom 23.03.2025
[Download]
Lädt...
X