Hacker im Shop

Thema wurde von M. Zitzmann, 29. Juli 2025 erstellt.

  1. M. Zitzmann
    M. Zitzmann Erfahrener Benutzer
    Registriert seit:
    3. März 2016
    Beiträge:
    421
    Danke erhalten:
    146
    Danke vergeben:
    42
    Code:
    <?php
    /* --------------------------------------------------------------
       shop.php 2015-05-21 gm
       Gambio GmbH
       http://www.gambio.de
       Copyright (c) 2015 Gambio GmbH
       Released under the GNU General Public License (Version 2)
       [http://www.gnu.org/licenses/gpl-2.0.html]
       --------------------------------------------------------------
    */
    
    require_once('includes/application_top_main.php');
    
    if (isset($_GET['do']) && preg_match("#^Parcelshopfinder(/.*)?0#", $_GET['do'])) {
        http_response_code(403);
        exit("Zugriff auf Parcelshopfinder nicht erlaubt.");
    }
    
    // includes classes and functions are needed for frontend output
    include_once DIR_FS_CATALOG . 'gm/inc/gm_get_privacy_link.inc.php';
    if(!isset($GLOBALS['breadcrumb']))
    {
        $GLOBALS['breadcrumb'] = new breadcrumb();
    }
    include_once DIR_FS_CATALOG . 'includes/classes/boxes.php';
    if(!isset($GLOBALS['messageStack']))
    {
        $GLOBALS['messageStack'] = new messageStack();
    }
    
    $httpService = StaticGXCoreLoader::getService('Http');
    
    $httpContext = $httpService->getHttpContext();
    $httpService->handle($httpContext);
    
    
    Du kannst den Security Patch im Adminbereich-> Gambio Store -> Modules installieren.
     
  2. cdoo
    cdoo Erfahrener Benutzer
    Registriert seit:
    15. November 2018
    Beiträge:
    79
    Danke erhalten:
    41
    Danke vergeben:
    24
    Danke für den Hinweis. Ich hab mir zusätzlich eine Mail Info integriert die mir einen Aufruf mit seinen Parametern übermittelt.

    Wenn es bei euch dazu etwas neues gibt, bitte posten.
     
  3. Rolf Maurer
    Rolf Maurer Erfahrener Benutzer
    Registriert seit:
    28. Februar 2014
    Beiträge:
    143
    Danke erhalten:
    6
    Danke vergeben:
    10
    Ich habe da auch noch eine Frage:
    Ich musste einen Shop ebenfalls neu aufsetzen. Der hatte die Version 4.8.0.2. Ich habe den auf 4.8.0.3 upgedated weil ich nur die Version als Installation da habe. Hat auch alles wunderbar geklappt. Wenn ich jetzt im neuen Shop das Security Update einspiele dann bleibt der Updater hängen und zeigt keine Version mehr an. Eine Version erzwingen geht auch nicht.

    Wenn ich in der 4.8.0.2 das Security Update über den Gambio store einspiele und dann im 4.8.0.3 er Shop nichts mehr mache läuft alles einwandfrei. Im Gambio Store wird aber das Security Update auch gar nicht mehr angezeigt (auch nicht als installiert).

    Ist das Security update mit der 4.8.0.2 damit erledigt, auch wenn ich den Shop 4.8.0.3 ganz neu intstalliere? Da müssten dann doch die entsprechenden Dateien fehlen - oder ist das eine reine Datenbanksache?
     
  4. Kai Schoelzke
    Kai Schoelzke Beta-Held
    Registriert seit:
    30. März 2016
    Beiträge:
    4.076
    Danke erhalten:
    646
    Danke vergeben:
    307
    in der Version 4.8.0.3 ist das Securityupdate bereits inklusive, da brauchst du nichts mehr zu machen.
     
  5. Rolf Maurer
    Rolf Maurer Erfahrener Benutzer
    Registriert seit:
    28. Februar 2014
    Beiträge:
    143
    Danke erhalten:
    6
    Danke vergeben:
    10
    Hatte ich auch vermutet, aber GAMBIO stellt das Securityupdate ja als "Security Update 2024-01 v1.0.1 für GX4 v4.6.0.1 bis v4.9.2.0" vor. Dann ist das wohl etwas ungenau formuliert.
     
  6. Developer
    Developer Erfahrener Benutzer
    Registriert seit:
    7. November 2012
    Beiträge:
    3.143
    Danke erhalten:
    716
    Danke vergeben:
    127
    #46 Developer, 3. September 2025
    Zuletzt bearbeitet: 3. September 2025
    Irgendetwas war da: Soweit ich das noch in Erinnerung habe, wurde es ursprünglich für die Version v4.6.0.1 und höher zur Verfügung gestellt. Später, in welchem Zeitfenster dies war, weiß ich nicht mehr, dann auch für die älteren Version v4.0.0.0 und höher.
     
  7. M. Zitzmann
    M. Zitzmann Erfahrener Benutzer
    Registriert seit:
    3. März 2016
    Beiträge:
    421
    Danke erhalten:
    146
    Danke vergeben:
    42
    #47 M. Zitzmann, 3. September 2025
    Zuletzt bearbeitet: 3. September 2025
    Ich habe einige Kundenshops nun schon geschützt mit den Änderungen.
    Nur bei einem Kunde ist der Hacker gerade wieder draufgekommen.
    Trotz der Anpassung in der shop.php wurden folgende Seiten aufgerufen:
    Code:
    2a02:2378:1100:: - - [03/Sep/2025:11:31:47 +0200] "GET /shop.php?do=CreateGuest HTTP/1.1" 200 9754 domain.de "-" "python-requests/2.32.3" "-"
    2a02:2378:1100:: - - [03/Sep/2025:11:31:48 +0200] "POST /shop.php?do=CreateGuest/Proceed HTTP/1.1" 302 20 domain.de "-" "python-requests/2.32.3" "-"
    2a02:2378:1100:: - - [03/Sep/2025:11:31:49 +0200] "POST /shop.php?do=Parcelshopfinder/AddAddressBookEntry HTTP/1.1" 500 113 domain.de "-" "python-requests/2.32.3" "-"
    2a02:2378:1100:: - - [03/Sep/2025:11:31:51 +0200] "POST /jISUlByBZf.php HTTP/1.1" 200 137 domain.de "-" "python-requests/2.32.3" "-"
    2a02:2378:1100:: - - [03/Sep/2025:11:31:51 +0200] "GET /mini_db_dump.php HTTP/1.1" 200 443910 domain.de "-" "python-requests/2.32.3" "-"
    
    Dann habe ich es mal selber versucht und folgendes festgestellt:

    Nur diese shop.php läßt die Abfrage nicht durch:
    Code:
    <?php
    /* --------------------------------------------------------------
       shop.php 2015-05-21 gm
       Gambio GmbH
       http://www.gambio.de
       Copyright (c) 2015 Gambio GmbH
       Released under the GNU General Public License (Version 2)
       [http://www.gnu.org/licenses/gpl-2.0.html]
       --------------------------------------------------------------
    */
    
    require_once('includes/application_top_main.php');
    
    if (isset($_GET['do']) && preg_match("#^Parcelshopfinder(/.*)?$#", $_GET['do'])) {
        http_response_code(403);
        exit("Zugriff auf Parcelshopfinder nicht erlaubt.");
    }
    
    // includes classes and functions are needed for frontend output
    include_once DIR_FS_CATALOG . 'gm/inc/gm_get_privacy_link.inc.php';
    if(!isset($GLOBALS['breadcrumb']))
    {
        $GLOBALS['breadcrumb'] = new breadcrumb();
    }
    include_once DIR_FS_CATALOG . 'includes/classes/boxes.php';
    if(!isset($GLOBALS['messageStack']))
    {
        $GLOBALS['messageStack'] = new messageStack();
    }
    
    $httpService = StaticGXCoreLoader::getService('Http');
    
    $httpContext = $httpService->getHttpContext();
    $httpService->handle($httpContext);
    
    
    Es ist nur ein Zeichen im Script anders.
     
  8. ManuM
    ManuM Mitglied
    Registriert seit:
    27. Oktober 2014
    Beiträge:
    16
    Danke erhalten:
    6
    Danke vergeben:
    4
    Hab ich bereits am Montag geschrieben dass ich einen anderen Syntax im preg_match verwende. Warum machst du es so kompliziert?


     
  9. Kai Schoelzke
    Kai Schoelzke Beta-Held
    Registriert seit:
    30. März 2016
    Beiträge:
    4.076
    Danke erhalten:
    646
    Danke vergeben:
    307
    Ja, weil die 4.9.2.0 vor der 4.8.0.3 herausgekommen ist. Klingt erst mal komisch, ist aber so.
     
  10. Developer
    Developer Erfahrener Benutzer
    Registriert seit:
    7. November 2012
    Beiträge:
    3.143
    Danke erhalten:
    716
    Danke vergeben:
    127
    @M. Zitzmann: Mit dem Zusatz in deiner shop.php blockierst Du aber gänzlich den Aufruf. Was ist mit den echten Anmeldungen? Hast Du das mal getestet?
     
  11. Minor
    Minor Aktives Mitglied
    Registriert seit:
    16. November 2023
    Beiträge:
    31
    Danke erhalten:
    0
    Danke vergeben:
    12
    Ich muss aus eigenem Anlass mal dazwischenposten:

    Ich kann seit heute nicht mehr auf meinen Shop zugreifen. Auch in das Backend kann ich mich nicht mehr einloggen.
    Ich habe über FTP nachgesehen, ob da noch etwas ist und erhebliche Veränderungen der Dateistruktur des Shops festgestellt, die im Zeitraum dieses Vormittags stattfanden. Und ein Großteil der Dateien im root-Verzeichnis fehlt.
    Ist das so ein Fall, in dem ich auf einen Hacker-Angriff bzw. Übernahme schließen kann?

    Ist Hochladen eines Backups in so einem Fall zielführend?
    Ich habe leider keinen (IT) Fachmann zur Hand.
     
  12. Minor
    Minor Aktives Mitglied
    Registriert seit:
    16. November 2023
    Beiträge:
    31
    Danke erhalten:
    0
    Danke vergeben:
    12
    Ok, Nachtrag: mein Provider hat mir gerade geschrieben:
    Im Unterordner ext > payone > php > Payone > Payone befindet sich zudem eine Remote Payload welche weitere Dateien auf dem Webspace/dem Ordner verbreitet haben könnte

    Dann hat sich meine Frage erübrigt und ich möchte es nur zur Kenntnisnahme bringen.
    Ich hatte Mitte August ein einzelnes neues Kunden-Konto mir kryptischen Angaben. Habe ich gelöscht.
    Heute Nacht ein zweites, auch gelöscht.
    Falls das auch verdächtig ist.
     
  13. Eisvogel
    Eisvogel Erfahrener Benutzer
    Registriert seit:
    4. April 2019
    Beiträge:
    165
    Danke erhalten:
    6
    Danke vergeben:
    138
    #53 Eisvogel, 5. September 2025
    Zuletzt bearbeitet: 5. September 2025
    @Minor:

    Welche Shop-Version hattest Du vor dem Befall?

    Welche Datei im Unterordner ext >payone>php>Payone>Payone ist die Schaddatei (also die "Remote Payload"? Sprich, wonach muss man schauen, um festzustellen, ob ein Befall vorhanden ist=
     
  14. Anonymous
    Anonymous G-WARD 2015/2016
    Registriert seit:
    20. Februar 2012
    Beiträge:
    9.088
    Danke erhalten:
    1.613
    Danke vergeben:
    1.212
    Habe von diesen Aufrufen reichlich im Shop:

    /en/Fireplace-Set/Brunner/?begindate=giap1&categoryid=hv4l4&code=enu15&email_address=b4942&from=ybi70&input=%3C%2Fscript%3E%3Chopps9%3E&jsonp=k53t4&keywords=nfde9&month=ezoi6&p=ekaf0&password=zm2j8&redirect=pgkj4&srsltid=AfmBOoqhSFtCSvZRZ0Qmnzu6lcCpwUfrpi

    Deutet das evtl. auch auf einen Angriff hin?

    IP=103.213.239.72 (aus Dhaka). Habe ich im Gprotector gesperrt.
     
  15. Anonymous
    Anonymous Erfahrener Benutzer
    Registriert seit:
    5. Juli 2019
    Beiträge:
    125
    Danke erhalten:
    2
    Danke vergeben:
    44
    Habe dem Gprotector in meinem Cloud Shop gesucht und nichts gefunden. Kann es sein, daß es in Cloud Shops nicht geht?
    Habe immer noch das Problem mit der einen IP, die seit Monaten sekündlich den Shop aufruft, was mir nicht koscher vorkommt.
     
  16. Anonymous
    Anonymous Erfahrener Benutzer
    Registriert seit:
    28. Dezember 2020
    Beiträge:
    403
    Danke erhalten:
    205
    Danke vergeben:
    68
    Der Gprotector ist nur über FTP erreichbar. Ich weiß nicht ob Cloudshops da herankommen?
     
  17. Totti-Amun
    Totti-Amun Erfahrener Benutzer
    Registriert seit:
    24. August 2011
    Beiträge:
    247
    Danke erhalten:
    28
    Danke vergeben:
    78
    Meine gesamten Webseiten (einloggen und weiterklicken auf Artikelseiten ist nicht möglich) sind auch betroffen und das Problem besteht weiter. 2 Foren, 3 Webshops.
    Ein Backup auf den Tag vor dem Crash (08.09. bei mir) stellt die Funktion wieder her, der Schadcode ist aber zum Teil nach wie vor vorhanden. Seitdem sind alle meine Seiten im Wartungsmodus.
     
  18. Kai Schoelzke
    Kai Schoelzke Beta-Held
    Registriert seit:
    30. März 2016
    Beiträge:
    4.076
    Danke erhalten:
    646
    Danke vergeben:
    307
    Als Erstes alles löschen, was auf dem Server ist, danach Backups einspielen und vor allem die Sicherheitslücke schließen.
     
  19. Walter Lenk
    Walter Lenk Erfahrener Benutzer
    Registriert seit:
    28. September 2011
    Beiträge:
    623
    Danke erhalten:
    300
    Danke vergeben:
    113
    Ich kann Kai nur zustimmen. Wenn die Sicherheitslücke nicht geschlossen wurde kannst Du voraussichtlich 10 mal das Backup (welches augenscheinlich sauber ist) wieder einspielen. Die Lücke wird (voraussichtlich) immer wieder ausgenutzt werden.

    Die Lücke kann erst einmal alles möglich sein. Eine veraltete Software (insbesondere wenn sich andere Systeme auch noch am Webspace befinden kann das jedes dieser Systeme sein), fehlende Sicherheitspatches, kompromittierte Admin-Accounts, ausgespähte FTP-Passwörter und und und...

    Grüße
    Walter
     
  20. Developer
    Developer Erfahrener Benutzer
    Registriert seit:
    7. November 2012
    Beiträge:
    3.143
    Danke erhalten:
    716
    Danke vergeben:
    127
    Die Frage, die sich stellt: Bekommst Du das selbständig gefixt oder brauchst Du Hilfe von externe Agenturen, wie wir hier, die sich damit auskennen. Der Kollege Walter, Kai, Dominik und ich können sicherlich Abhilfe schaffen. Nur so, wie das gerade läuft, haben die Leute Zugang zu deinen Daten. Ich rede nicht nur von den Passwörtern, sondern auch von KUNDENDATEN.