oldbear Posted July 18, 2017 Report Share Posted July 18, 2017 Hallo liebe Community, habe seltsame Attacken auf einen XTC 5.0.7-Shop: Seit Tagen werden mehrere 1000 Suchanfragen täglich registriert, die immer ein 13-stelliges numerisches Keyword abfragen ( Pseudo-EAN-Nummern ), das geht auch eindeutig aus dem Access-Log des Servers hervor ( jedesmal eine andere IP-Adresse ! ). Die pumpen natürlich auch den Tab "Shop-Suche" im Backend voll. Ich lösche die halt regelmässig per Skript. Das Plugin "xt_customers_online" zeigt mir beim gleichen Kunden mehr oder weniger konstant um die 1000-2500 Besucher an. In der entsprechenden Tabelle sind auch entsprechend viele Session-IDs verzeichnet. Das Problem ist, dass dadurch mehrmals täglich der SQL-Server schlappmacht ( "too many user connections" ), was dem Umsatz auch nicht gut tut. ( Das mit den "too many user connections" habe ich komischerweise bei den unterschiedlichsten Kunden und sogar auf meiner lokalen Entwicklungsumgebung ( MAMP ), dort hängt sich der mysqli ab und an schon beim Laden des Backends auf ) Irgendwelche Ideen ? Grüsse Link to comment Share on other sites More sharing options...
Alex@4tfm Posted July 18, 2017 Report Share Posted July 18, 2017 Evtl. ein Mitbewerber der Preise Crawlt oder einfach ein Bot der "im Kreis" crawlt? Setz doch mal einen $_GET Parameter in das Form und mach nur eine Suche wenn der vorhanden ist. Würde zumindest davor schützen, dass jemand die URL direkt Aufruf ohne das Formular zu nutzen. Link to comment Share on other sites More sharing options...
jwinkel Posted July 19, 2017 Report Share Posted July 19, 2017 Das "riecht" nach einem Repricing-Tool, das versucht den Preis eines Artikels auszulesen. Ist das eine existierende EAN? Und dann - sorry für off-topic - funktioniert bei euch das xt_customers_online? Das Ding zeigt bei mir permanent Besucherzahlen, die so gar nicht zu den Online-Stats von google passen wollen: Laut Plugin sind 100 Besucher da, laut Google sind es 4... Ausserdem bekomme ich beim Klick auf den Reiter "Customers Online Preview" nur einen 403: You don't have permission to access /plugins/xt_customers_online_tracking/pages/customers_online_table.php on this server. Link to comment Share on other sites More sharing options...
df:bug Posted July 19, 2017 Report Share Posted July 19, 2017 xt_customers_online Problem sollte an Deiner xt:Commerce Version 4.2.00 in Kombination mit Apache 2.4 liegen. Fix: https://xtcommerce.atlassian.net/wiki/display/MANUAL/Probleme+mit+Apache+2.4 Link to comment Share on other sites More sharing options...
jwinkel Posted July 19, 2017 Report Share Posted July 19, 2017 Ist 5.0.7 Link to comment Share on other sites More sharing options...
Alex@4tfm Posted July 19, 2017 Report Share Posted July 19, 2017 Aus welchen IP ranges kommen den die Aufrufe? Link to comment Share on other sites More sharing options...
NilsK Posted July 19, 2017 Report Share Posted July 19, 2017 @df:bug gilt das auch für "Apache/2.2.22"? Habe das auch festgestellt, wobei das Plugin im Prinzip alles anzeigt und andere Statistiken entsprechend weniger (außer, man stellt mehr ein). Herzliche Grüße Nils Link to comment Share on other sites More sharing options...
oldbear Posted July 20, 2017 Author Report Share Posted July 20, 2017 toll, dass das Thema aufgegriffen wird: @jwinkel: bei meinem Kunden ( 5.0.7 ) werden aktuell so 2500 Besucher angezeigt ... @Alex: habe die Suche gepatched ( search.php, am ersten Hook ) und führe diese erst gar nicht durch, wenn 13-stellige Zahlen eingegeben werden => hat schon eine deutliche Verbesserung gebracht, seit heute morgen ist der mysqli erst einmal abgestürzt und dann nur für ca. 2 Sekunden. Allerdings schreibe ich in dem Fall ein eigenes Log mit und habe z.B. folgende IP's ( jeweils so 150 Suchanfragen pro IP, aber bunt durcheinander ) 185.157.233.217 193.234.225.188 185.53.170.118 185.101.98.190 185.53.170.118 192.165.67.51 198.8.63.11 213.229.79.207 93.104.209.59 ... kommen aus USA, UK, IT, DE usw. lt. Stichproben bei http://www.pruefziffer.de/eantest.php4 scheint es sich um gültige EAN-Nummern zu handeln ca 70 sind trotzdem durchgeschlüpft, evt. muss ich da noch mit trim(..) nachbessern. Auszug aus dem Protokoll: 2017-07-20 08:07:59;4008033215411;185.101.98.190 2017-07-20 09:07:00;4009085257749;5.62.62.149 2017-07-20 09:07:00;4010411136409;193.234.225.188 2017-07-20 09:07:00;4005481770325;192.165.67.51 2017-07-20 09:07:00;4015544103908;5.62.62.149 2017-07-20 09:07:00;4009085094009;198.8.63.11 2017-07-20 09:07:01;4009215039375;185.157.233.217 2017-07-20 09:07:01;4009225390534;185.157.233.217 wobei bei sovielen Aufrufen der Suche ( ca. 10 pro Sekunde ) und jedesmal Aufruf von getAllCategories und getManufacturersList muss das die Datenbank zum Wahnsinn treiben .... Natürlich kann ein Kunde im Shop aktuell nicht mehr nach der EAN-Nummer suchen ... auch nicht schön Grüsse Link to comment Share on other sites More sharing options...
jwinkel Posted July 21, 2017 Report Share Posted July 21, 2017 Wie kommen die Suchanfragen rein - füllt da jemand das Suchformular aus oder wird die Suchanfrage mit dem Seitenaufruf übergeben? Haben die EAN irgendeinen Bezug zum Sortiment des Shops? Link to comment Share on other sites More sharing options...
oldbear Posted July 21, 2017 Author Report Share Posted July 21, 2017 hallo Jörg, lt. Server-Log wird ein Query-String abgesetzt, der genauso aussieht wie wenn ich so eine Nummer per Hand eingebe .... 185.53.170.118 - - [15/Jul/2017:06:17:37 +0200] "GET /index.php?page=search&page_action=query&desc=on&sdesc=on&keywords=4003368171210 HTTP/1.1" 200 17425 "-" "Opera/9.80 (X11; Linux i686; Ubuntu/14.10) Presto/2.12.388 Version/12.16" 192.165.67.51 - - [15/Jul/2017:06:17:40 +0200] "GET /index.php?page=search&page_action=query&desc=on&sdesc=on&keywords=4017337329069 HTTP/1.1" 200 17425 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.246" 5.62.58.215 - - [15/Jul/2017:06:17:47 +0200] "GET /index.php?page=search&page_action=query&desc=on&sdesc=on&keywords=4052212017709 HTTP/1.1" 200 17426 "-" "Opera/9.80 (X11; Linux i686; Ubuntu/14.10) Presto/2.12.388 Version/12.16" 213.229.79.207 - - [15/Jul/2017:06:17:55 +0200] "GET /index.php?page=search&page_action=query&desc=on&sdesc=on&keywords=4003625037006 HTTP/1.1" 200 17424 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.75.14 (KHTML, like Gecko) Version/7.0.3 Safari/7046A194A habe zwischenzeitlich festgestellt, dass die Länge der Zahl zwischen 12 und 13 Stellen schwankt, das abgefangen, seitdem keine mysqli-Abstürze mehr Grüsse P.S: kein Bezug zum Sortiment, es wird ja nix gefunden und drum zig Einträge in der Tabelle xt_search Link to comment Share on other sites More sharing options...
jwinkel Posted July 21, 2017 Report Share Posted July 21, 2017 Bau doch mal in das Suchfeld einen zusätzlichen "hidden" Parameter ein und verweigere die Suche, wenn der nicht gesetzt ist. Damit sollte für den Anfang Ruhe sein, bis der Störer sein Verhalten anpasst. Man könnte ja auch gemein sein und als Parameter das Datum o.ä. verwenden, das sich ab und an ändert. Link to comment Share on other sites More sharing options...
Alex@4tfm Posted July 21, 2017 Report Share Posted July 21, 2017 Evtl. ein ReCaptcha einbauen, wenn die suche eine EAN Nummer ist. Verdammt aufwändig halt... Link to comment Share on other sites More sharing options...
oldbear Posted September 17, 2017 Author Report Share Posted September 17, 2017 Hallo, vielen Dank für Eure Vorschläge: bin kürzlich über einen Wordpress-Blog gestolpert, der das Ganze als "stümperhaften Hacker-Angriff aus Italien" tituliert hat: Merkmale sind u.A. Firefox-Version 40.1 ( gabs nie ) im Access-Log. Habe weiterhin festgestellt, dass es immer genau die gleichen 85 IP-Adressen waren/sind und die per .htaccess ausgeblendet. Seitdem ist weitgehend Ruhe und der MySQL-Server fällt maximal 1-2mal am Tag für eine oder ein paar Sekunden aus ( Häufung bei bestimmten Uhrzeiten ). Grüsse Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.