Jump to content
xt:Commerce Community Forum

Shop gehackt - Fehlermeldung


kumosan

Recommended Posts

Hallo,

ich habe ein Problem mit meinen beiden Shops.

Beide wurden letzte Woche gehackt. Gibt man im Browser die Domain ein, findet man nur noch eine Seite, die die netten Typen hinterlassen haben. Den zweiten Shop habe ich FTPseitig gelöscht und das Backup wieder hochgeladen.

Um jetzt im Shop ein neues Passwort für mich als Admin zu vergeben wollte ich mir erst ein vom System generiertes zuschicken lassen, dann habe ich versucht, einen neuen Admin anzulegen (auch hierbei wird das PW zugeschickt). Leider erhalte ich dann folgende Fehlermeldung:

Fatal error: Smarty error: unable to write to $compile_dir '/www/htdocs/w00681ca/hunde-traum/templates_c'. Be sure $compile_dir is writable by the web server user. in /www/htdocs/w00681ca/hunde-traum/includes/classes/Smarty_2.6.10/Smarty.class.php on line 1088

Was muss ich ändern, dass ich wieder im Spiel bin??

Über schnelle Hilfe würde ich mich sehr freuen! Danke schon mal...

Viele Grüße,

Micha

Link to comment
Share on other sites

Guest tuvalu

Schreibrechte für das Verzeichnis templates_c vergeben?

My2Cent

tuvalu

BTW: Wie wurde denn der Shop gehackt? Das ist gar nicht so einfach.

Link to comment
Share on other sites

Hmmm, wie der Hack ausgeführt wurde kann ich leider nicht sagen, dazu fehlt mir wohl die kriminelle Energie ;-).

Der Effekt war aber, dass man nach Eingabe der Domain direkt auf eine Seite des "H-T Teams" landete, auf der sich die Verursacher für die Übernahme des Shops bedankt haben.

Allerdings hat (so hoffe ich - nach dem erneuten Einspielen der Backups läuft erstmal wieder alles) die DB keinen Schaden erlitten.

Schwer muss das aber nicht sein, den Shop zu "erlegen". Habe im Netz etwas recherchiert und bin auf Meldungen gestossen, nach denen es wohl mit max. 6 Klicks möglich sein muss einen XT Commerce-Shop zu kapern. Details sind mir dazu aber nicht bekannt.

So, jetzt kann ich nur hoffen, dass man uns in Ruhe lässt....

Danke für die Antworten.

LG, Micha

Link to comment
Share on other sites

nach denen es wohl mit max. 6 Klicks möglich sein muss einen XT Commerce-Shop zu kapern. Details sind mir dazu aber nicht bekannt.

das ist natürlich ein blödsinn.

bis dato gibt es keinen fall von gehackten shops wenn nur der shop alleine aufeinem server ist.

100% der bisherigen fälle liegen an installierten foren (phpbb etc) auf dem server.

Link to comment
Share on other sites

Das glaube ich nur zu gerne.

Denn dann wäre unser Shop ja jetzt wieder sicher - oder?!?

Irgendwie muss es aber dann doch funktioniert haben mit dem Hack, auch ohne Foren, etc., denn diese gibt es auf unserem Server nicht, sondern nur zwei XT Commerce-Shops und zwei "normale" HTML-Seiten (ohne jeden "Schnickschnack"). Deshalb weiss ich nicht, ob das mit der 100%igen Sicherheit so stimmen kann - aber wie gesagt: Ich glaube es nur zu gerne :confused:

Link to comment
Share on other sites

Guest tuvalu

Auf Shared Systemen besteht immer die Möglichkeit, dass über ein Loch beim Hoster auf das DB-System zugegriffen werden kann und von da dann auf die Shop-Site. Deshalb ist es wichtig zu wissen, wie der Hack funktionierte. Der Hoster sollte das unbedingt rauskriegen und in den Log-Dateien steht das ja auch drin.

My2Cent

tuvalu

Link to comment
Share on other sites

Es gibt sehr wohl eine Sicherheitslücke, nämlich die XSS Lücke in der advanced_search_result.php

Ein entsprechender Patch wurde bereits veröffentlicht, jedoch ist Dein Shop ohne Patch.

$breadcrumb->add(NAVBAR_TITLE2_ADVANCED_SEARCH, xtc_href_link(FILENAME_ADVANCED_SEARCH_RESULT, 'keywords='.htmlspecialchars(xtc_db_input($_GET['keywords'])) .'&search_in_description='.xtc_db_input($_GET['search_in_description'])
.'&categories_id='.(int)$_GET['categories_id'].'&inc_subcat='.xtc_db_input($_GET['inc_subcat']).'&manufacturers_id='.(int)$_GET['manufacturers_id']
.'&pfrom='.xtc_db_input($_GET['pfrom']).'&pto='.xtc_db_input($_GET['pto'])
.'&dfrom='.xtc_db_input($_GET['dfrom']).'&dto='.xtc_db_input($_GET['dto'])));[/php]

Such nach der Zeile ohne htmlspecialchars und ersetze diese mit der, dann ist auch bei Dir die Sicherheitslücke geschlossen

Link to comment
Share on other sites

Da muß es aktuell einen Trick zu geben, mit denen der Shop leicht geknackt werden kann.

Ja, den gibt es - da ist aber nicht der Shop dran Schuld, sondern die Hoster... Wir hatten grad auch einen Angriffsversuch, der konnte allerdings erfolgreich durch den (zusätzlich zur Standardkonfiguration gesicherten) Shop geblockt werden ;)

Böse Leute versuchen derzeit, mittels eines bösen SQL-Befehls über die Shop-Suche SQL-Datenbanken "von hinten" aufzurollen, d.h. auf Datenstrukturen zuzugreifen, auf die eigentlich niemand Zugriff haben sollte. Der Shop blockt das nach Kräften, aber wenn der Hoster das zulässt, kann auch der Shop nichts dafür. Abgesehen davon, dass sich so ein MD5-Passwort-Hash, sobald man ihn denn hat, recht schnell knacken lässt...

Ein simples "Defacement", d.h. der Austausch der Startseite, rührt meistens von zu schwachen FTP-Passwörtern her - auch da kann der Shop nix für...

Leute, gebt euch starke Passwörter (überall!), sichert euere PHP-Umgebung und lasst keinen unsicheren Kram wie ein phpBB o.ä. auf dem gleichen Webspace wie den Shop laufen!

Die Daten sollen gegen Cash wieder herausgegeben werden.

Welche Daten hat denn der böse Mann? Auch wenn man die Seite "defaced", heisst das noch lange nicht, dass man auch auf die DB zugreifen kann... Dafür ist erhebliche kriminelle und technische Energie nötig - Anzeige gegen IP bei der örtlichen Polizeidienststelle?

PS: Coyote war schneller - die htmlspecialchars-Lücke war eigentlich schon gefixt ???

Link to comment
Share on other sites

Sein Shop hat den Patch nicht drin ;-)

';alert(String.fromCharCode(88,83,83))//\';alert(String.fromCharCode(88,83,83))//";alert(String.fromCharCode(88,83,83))//\";

alert(String.fromCharCode(88,83,83))//--></SCRIPT>">'>

<script>alert(String.fromCharCode(88,83,83))</SCRIPT>

Damit kann mans testen, jedoch wird das Script nur komplett in das Eingabefeld passen, wenn man z.B. Web Developer Modul vom Firefox hat und die maximale Eingabelänge ausschaltet

Link to comment
Share on other sites

  • 3 weeks later...

Es gibt sehr wohl eine Sicherheitslücke, nämlich die XSS Lücke in der advanced_search_result.php

Ein entsprechender Patch wurde bereits veröffentlicht, jedoch ist Dein Shop ohne Patch.

$breadcrumb->add(NAVBAR_TITLE2_ADVANCED_SEARCH, xtc_href_link(FILENAME_ADVANCED_SEARCH_RESULT, 'keywords='.htmlspecialchars(xtc_db_input($_GET['keywords'])) .'&search_in_description='.xtc_db_input($_GET['search_in_description'])
.'&categories_id='.(int)$_GET['categories_id'].'&inc_subcat='.xtc_db_input($_GET['inc_subcat']).'&manufacturers_id='.(int)$_GET['manufacturers_id']
.'&pfrom='.xtc_db_input($_GET['pfrom']).'&pto='.xtc_db_input($_GET['pto'])
.'&dfrom='.xtc_db_input($_GET['dfrom']).'&dto='.xtc_db_input($_GET['dto'])));[/php]

Such nach der Zeile ohne htmlspecialchars und ersetze diese mit der, dann ist auch bei Dir die Sicherheitslücke geschlossen

Super, dass der Patch veröffentlicht wurde. Aber wann und wie erfahren wir zahlenden Shop-Betreiber denn davon?!

Normal gehört sowas doch mitgeteilt!

Wo kann ich den Patch runter laden?!

hallo,

gibt es denn irgendwo eine security und patch liste, die ab der letzten version(304SP2.1_package_full.zip) gilt und von xt:commerce gepflegt wird?

ich habe bisher noch nichts gefunden.

Ja... s.o. sowas vermisse ich auch, leider.

Sein Shop hat den Patch nicht drin ;-)

Damit kann mans testen, jedoch wird das Script nur komplett in das Eingabefeld passen, wenn man z.B. Web Developer Modul vom Firefox hat und die maximale Eingabelänge ausschaltet

Also wenn ihr den Beitrag schon löscht, dann doch bitte so, dass man ihn nicht mehr findet!

Klickt man auf Antworten wird er immer noch angezeigt...

[color=Red]Ich habe den Code aus dem Zitat entfernt, da das ja eine prima Möglichkeit bietet zu testen, welche Shops noch nicht gepatcht sind und das halte ich für ein großes Sicherheitsrisiko, wie anscheinend die Admins hier auch. Umso mehr versteh ich nicht, warum ich dann den letzten Beitrag noch sehen kann, wenn ich auf Antworten klicke.[/color]

Grüße

Tom

Link to comment
Share on other sites

Hi Coyote,

weiss ich doch... ich bin auch durchaus in der Lage deinen Patch selber zu integrieren, aber ich will eigentlich generell erreichen, dass Patches bereit gestellt werden und dass User informiert werden, wenn Änderungen geschehen. Ich erinnern mich da auch noch an die Tatsache, dass vor nicht allzu langer Zeit stillschweigend ein neues Download Paket XTC3.04SP2.1 erschien, wo auf einmal stillschweigend Patches eingearbeitet worden sind. Ich muss 3 Shops auf dem Laufenden halten und sowas nervt einfach tierisch!

Aus dem Sponsoren-Forum:

(Quelle: http://www.xt-commerce.com/forum/showthread.php?t=59069 )

ipayment language-files sind "bereinigt" worden (gefixt)

bugfix mit eingeflossen (gefixt)

bugfix mit eingeflossen (gefixt)

Die Datei "xtcommerce/templates/xtc4/sources/boxes/admin.php" hat bei gleicher Versionsnummer mal eben eine kleine Änderunge erhalten! Wie soll man da denn noch den Überblick behalten können was ihr so ändert um ggf. sein eigenes Template anpassen zu können?

Die robots.txt hat sich auch wieder mal geändert... keiner weiss warum... =/

bugfix mit eingeflossen (gefixt)

Kann man darüber nicht informieren, wenn ihr ein neues Paket online stellt oder ein neues Paket dann zumindest mit einer neuen Nummer versehen? Hätte doch nciht weh getan, wenn ihr mal ein SP2.1.1 veröffentlicht, oder?

Stellt doch bitte nochmal ein aktualisiertes Paket online, wo zumindest die bugfixes mit eingebaut wurden. Ich habe wenig Lust alle paar Wochen für meine 3 shops einen quervergleich mittels totalcommander oder gar einen inhaltlichen vergleich der dateien zu machen, nur weil wieder veraltete dateien mit in ein release eingeflossen sind.

Bitte bitte sorgt doch dafür, dass ihr bei bugfixes der Datei eine andere Versionsnummer gebt, das wäre für mich dann ungemein leichter, Updates auf Shops durchzuführen.

Grüße

Torsten Krüger

Grüße

Tom aka Tomcraft aka Torsten Krüger

Link to comment
Share on other sites

Hallo zusammen,

ich habe, wie von Coyote beschrieben, die Zeile ersetzt - dann bekam ich

bei der Suchfunktion im Shop die Fehlermeldung:

Parse error: syntax error, unexpected ';' in /home/www/shop/304SP2.1_release/xtcommerce/advanced_search_result.php on line 98

also Änderung retour und Suche funktioniert wieder.

Gibt es noch eine Möglichkeit die Sicherheitslücke zu schließen?

Dankbar für jeden Tipp:D

Gruß Doris

Link to comment
Share on other sites

Guest tuvalu

Gibt es noch eine Möglichkeit die Sicherheitslücke zu schließen?
Ja, lass es jemanden machen. :D

Im Ernst, das ist der Fix. Bei Deiner Änderung war wohl nur ein ; in der advanced_search_result.php in der Zeile 98 zu viel.

My2Cent

tuvalu

Link to comment
Share on other sites

Ich habe jetzt die komplete Zeile ersetzt und meine Suchfunktion klappt

- allerdings wird mir jetzt die Seite mit dem "Suchergebnis" mit einer weißen

Hintergrundfarbe angezeigt und eigentlich ist Hintergrundfarbe in unserem

Shop blau. Und es fehlt ein Teil der NAVBAR-Zeile

Weitere Vorschläge :confused:

Link to comment
Share on other sites

  • 2 weeks later...

Bitte nochmal kurz, wo ich den Code einfügen muss:

$breadcrumb->add(NAVBAR_TITLE2_ADVANCED_SEARCH, xtc_href_link(FILENAME_ADVANCED_SEARCH_RESULT, 'keywords='.htmlspecialchars(xtc_db_input($_GET['keywords'])) .'&search_in_description='.xtc_db_input($_GET['search_in_description'])

.'&categories_id='.(int)$_GET['categories_id'].'&inc_subcat='.xtc_db_input($_GET['inc_subcat']).'&manufacturers_id='.(int)$_GET['manufacturers_id']

.'&pfrom='.xtc_db_input($_GET['pfrom']).'&pto='.xtc_db_input($_GET['pto'])

.'&dfrom='.xtc_db_input($_GET['dfrom']).'&dto='.xtc_db_input($_GET['dto'])));

Such nach der Zeile ohne htmlspecialchars und ersetze diese mit der, dann ist auch bei Dir die Sicherheitslücke geschlossen

Was bedeutet "ohne htmlspecialchars" ?

Danke für euere Hilfe

Seb

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
  • Create New...