Sicherheitskritische Hinweise

  • Hin und wieder gibt es Bugs, wie zum Beispiel letztens mit der Suche, die xt:c basierende Shops betreffen.


    Und da gibt es noch unser eins, der diese Details hier im Forum Sucht und nicht findet... :-?

  • Tjo, das ist das gute da dran, weil bevor es irgendwo breit getreten wurde, haben wir ein Update nachgeschoben und per News benachrichtigt


    Zitat

    2008-01-15 00:17:16
    H.H.G. multistore CE, 2006, 2007 & 2008 update / bugfix / securitypatch WICHTIG!!!


    Deshalb ist auch die Zwangsregistrierung für den Download, damit wir auch vernünftige Daten zum mitteilen haben, da Shopsysteme auf Sicherheitsstufe hoch bis sehr hoch eingestuft werden sollten.


    Was auch den Rest betrifft, wie automatische Benachrichtigung des Administrators bei SQL Fehlern per Mail, durch den Shop. ;-)

  • Ich habe noch nicht mal den hhg Shop eingerichtet - schon gefällt es mir immer besser.
    Das problem ist nur das ich nichts Detailliertes darüber weiß.
    Ich würde gerne auch meine anderen Installationen schützen die auf XT basieren.


    PS: Hoffe das ich keine unerwünschte Diskussion gestartet habe, sonst bin ich ganz (PM) Ohr :wink:


    thx

  • Naja wirsind zwar hier nicht bei xt:C, jedoch ists auch einer meiner Babies, neben meinen beiden Söhnen *duck* (bevor ich noch Haue von meiner Frau bekomme) =)


    H.H.G. multistore:
    advanced_search_result.php
    Zeile 92:

    PHP
    1. $breadcrumb->add(NAVBAR_TITLE2_ADVANCED_SEARCH,
    2. hhg_href_link(FILENAME_ADVANCED_SEARCH_RESULT, 'keywords=' .
    3. hhg_db_prepare($_GET['keywords']) . '&search_in_description=' .
    4. hhg_db_prepare($_GET['search_in_description']) . '&categories_id=' .
    5. (int)$_GET['categories_id'] . '&inc_subcat=' .
    6. hhg_db_prepare($_GET['inc_subcat']) . '&manufacturers_id=' .
    7. (int)$_GET['manufacturers_id'] . '&pfrom=' . hhg_db_prepare($_GET['pfrom']) .
    8. '&pto=' . hhg_db_prepare($_GET['pto']) . '&dfrom=' .
    9. hhg_db_prepare($_GET['dfrom']) . '&dto=' . hhg_db_prepare($_GET['dto'])));


    geändert in (im Paket ist eine andere Lösung enthalten, beide bewirken jedoch das gleiche)

    PHP
    1. $breadcrumb->add(NAVBAR_TITLE2_ADVANCED_SEARCH,
    2. hhg_href_link(FILENAME_ADVANCED_SEARCH_RESULT, 'keywords=' .
    3. htmlspecialchars(hhg_db_prepare($_GET['keywords'])) . '&search_in_description='
    4. . hhg_db_prepare($_GET['search_in_description']) . '&categories_id=' .
    5. (int)$_GET['categories_id'] . '&inc_subcat=' .
    6. hhg_db_prepare($_GET['inc_subcat']) . '&manufacturers_id=' .
    7. (int)$_GET['manufacturers_id'] . '&pfrom=' . hhg_db_prepare($_GET['pfrom']) .
    8. '&pto=' . hhg_db_prepare($_GET['pto']) . '&dfrom=' .
    9. hhg_db_prepare($_GET['dfrom']) . '&dto=' . hhg_db_prepare($_GET['dto'])));


    xt:C (Gambio und Co. sollte auch passen, das sind Stellen die nicht wirklich jemand anfassen dürfte):
    advanced_search_result.php
    Zeile 98:

    PHP
    1. $breadcrumb->add(NAVBAR_TITLE2_ADVANCED_SEARCH,
    2. xtc_href_link(FILENAME_ADVANCED_SEARCH_RESULT,
    3. 'keywords='.xtc_db_input($_GET['keywords']).'&
    4. search_in_description='.xtc_db_input($_GET['search_in_description']).'&
    5. categories_id='.(int)$_GET['categories_id'].'&
    6. inc_subcat='.xtc_db_input($_GET['inc_subcat']).'&manufacturers_id='.
    7. (int)$_GET['manufacturers_id'].'&pfrom='.xtc_db_input($_GET['pfrom']).'&
    8. pto='.xtc_db_input($_GET['pto']).'&dfrom='.xtc_db_input($_GET['dfrom']).'&
    9. dto='.xtc_db_input($_GET['dto'])));


    ändern in:

    PHP
    1. $breadcrumb->add(NAVBAR_TITLE2_ADVANCED_SEARCH,
    2. xtc_href_link(FILENAME_ADVANCED_SEARCH_RESULT,
    3. 'keywords='.htmlspecialchars(xtc_db_input($_GET['keywords'])).'&
    4. search_in_description='.xtc_db_input($_GET['search_in_description']).'&
    5. categories_id='.(int)$_GET['categories_id'].'&
    6. inc_subcat='.xtc_db_input($_GET['inc_subcat']).'&manufacturers_id='.
    7. (int)$_GET['manufacturers_id'].'&pfrom='.xtc_db_input($_GET['pfrom']).'&
    8. pto='.xtc_db_input($_GET['pto']).'&dfrom='.xtc_db_input($_GET['dfrom']).'&
    9. dto='.xtc_db_input($_GET['dto'])));



    P.S.: Da die beiden zusammengehören: Suche funktioniert nicht

  • Man konnte über den eingegebenen Suchbegriff eine XSS Attacke durchführen, hier ein Beispiel anhand eines Frames mit google


    Google Frame