Sind Onlineshops wirklich sicher?

Vor einigen Wochen habe ich mich mit dem Thema Sicherheit von Onlineshops auseinander gesetzt. Das Ergebnis ist ernüchternd. Viele Onlineshops haben großen Schwachstellen.

Große Probleme hatten Shopsysteme mit Gästebüchern, diese waren nicht gegen SQL-Injections oder XSS (Cross Site Scripting) geschützt.


Übersicht:

  • XSS – Cross Site Scripting
  • SQL Injections
  • Betrug durch URL-Maanipulation
  • Betrug durch Datenmanipulation
  • Wie kann ich mich schützen?

1. XSS – Cross Site ScriptingDas bedeutet das Angreifer, über das Gästebuch, die Datenbank des Systems manipulieren können. Bei XSS wird schädlicher Code eingefügt, beispielsweise um Sessions zu klauen.Um zu prüfen ob Ihr Shop sicher ist, sollten Sie ihre Agentur mit einem Test beauftragen.Ob Cross Site Scripting möglich ist, können Sie selbst testen, indem Sie folgenden Code in allen Eingabefeldern testen.<script type=“text/javascript“> alert(„XSS“); </script>Sollte dann folgende Meldung erscheinen, haben Sie eine Lücke entdeckt:xss - cross site scriptingEine Anmerkung noch: XSS Funktioniert auch bei Get Variablen in der URL.  Wenn man eine Domain hat www.domain.de und dort eine Variable auf eine Seite übergibt und diese mit PHP echo ausgibt. Ist dort auch eine Schwachstelle. Man ersetzt einfach die URL zB. www.domain.php/index.php?ausgabe=test durch www.domain.php/index.php?ausgabe=<script type=“text/javascript“> alert(„XSS“); </script>Abhilfe leistet hier mod-rewrite über die .htaccess , da man so die GET Variablen wenigstens etwas verschleiert. Um die Attacken komplett abzuwehren, muss wieder ein Programmierer ran. 2. SQL InjectionsSQL-Injections lassen sich ebenfalls über Abfrageformulare einschleusen. Diese Attacken sind sehr gefährlich, da man mit Ihnen alles manipulieren oder auslesen kann.Abhilfe wird dadurch geschaffen, dass man die SQL Eingaben maskieren.Die PHP-Funktion mysql_real_escape_string bietet hier Abhilfe und maskiert die eingegebenen Werte.3. Betrug durch URL-ManipulationFalls Sie Downloads in Ihrem Shop anbieten, seien Sie vorsichtig. In vielen Onlineshopsystemen gibt es bei Downloadartikeln eine schwerwiegende Lücke.Testen können Sie wie folgt: (Hinweis: Dies soll keine Hackanleitung sein, der Beitrag soll zur Sicherheit von Shopbetreiben dienen und nicht missbraucht werden)

  • Öffnen Sie ihren Shop zB www.shopadresse.de
  • Loggen Sie sich nicht ein und legen die gewünschten Downloadartikel in den Warenkorb
  • Bestellen Sie nun als Gast und wählen Sie als Zahlungsmethode Kreditkarte
  • Geben Sie irgendwelchen Blödsinn ein ( auf keinen Fall die richtigen Daten )

Nun kommt der Hack. Das Shopsystem leitet Sie nun auf folgende Adresse um:www.shopadresse.de/checkout_payment.php(evtl noch ein paar wilde Zahlen und Buchstaben)ändert man nun payment in success, könnte man Zugriff haben.www.shopadresse.de/checkout_success.php(evtl noch ein paar wilde Zahlen und Buchstaben)Abhilfe schafft hier einfach die Kreditkarte zu deaktivieren und stattdessen nur Paypal zu nutzen. Ist der Shop nun richtig konfiguriert, muss der Kunde erst bezahlen, bevor der Download auch freigegeben wird.4. Betrug durch DatenmanipulationEs gibt noch ein paar Shops aus alten Tagen, die in erster Linie mit JavaScript funktionieren. Dort sind die einzelnen Artikel auch im Quelltext. Nimmt man sich nun ein Addon wie etwa Firebug, kann man munter und fröhlich einen Gutschein mit einbauen oder die Preise senken etc. 5. Was können Sie nun tun, um sich zu schützen?

  • Lassen Sie den Onlineshop von einem Profi erstellen.
  • Installieren Sie die aktuellsten Updates
  • nutzen Sie sinvolle Erweiterungen wie mod-rewrite
  • Nutzen Sie wenn möglich ein SSL Zertifikat. Wenigstens bei dem Bezahlvorgang

Schließlich sind die Sicherheitslücken nicht nur für Sie gefährlich, sondern auch für die Kunden des Onlineshops

Server Error 500 in Gambio

Ich hatte die letzten Tage ein sehr interessantes Problem mit Gambio GX2. Als wir den Shop öffnen wollten bekamen wir den Server Error 500. Der Support von Gambio und Strato waren allerdings wenig hilfreich.

Es gibt mehrere Ansätze zur Lösung des Error 500 Fehler.

1. Die .htaccess könnte Fehlerhaft sein, oder der Server unterstützt kein mod_rewrite.

Lösung: Löschen Sie die .htaccess Datei aus dem Stammverzeichnis der Shopinstallation. Gegenfalls immer nochmal den Cacheordner leeren (Ausser .htaccess und index.html)

2. Es ist tatsächlich ein Serverproblem

Lösung: Fragen Sie bei dem Provider nach, ob diese die Funktionalität des Servers überprüfen können.

3. Ihr habt die Logging Parse Time aktiviert.

Die Lösung zum Error 500 durch Logging Parse Time findet ihr einige Zeilen weiter unten, unter Anmerkung

Wenn das auch nicht zum Erfolg führt, können Sie es noch so machen, wie ich es gemacht habe.

1. Sichern Sie über PHPMyAdmin alle wichtigen Tabellen und die komplette Datenbank.

2. Sichern Sie den kompletten Shop per FTP

3. Löschen Sie nun den kompletten Shop

4. Installieren Sie Gambio erneut.

5. Importieren Sie die Tabellen, die Sie zuvor gesichert haben.

6. Laden Sie den zuvor gesicherten Templates Ordner, sowie die Image Ordner wieder per FTP hoch.

Danach sollte Gambio wieder funktionieren und der Server Error 500 verschwunden sein. Ich gebe aber keine Garantie, es kann durchaus dazu kommen, dass einige Daten nicht mehr vorhanden sind. Allerdings habe ich mehrere Stunden im Internet nach einer einfacheren Lösung gesucht, aber keine gefunden.

Wenn Sie ihren Shop nicht selber reparieren möchten, kann ich das auch gerne für Sie übernehmen. Schreiben Sie mir einfach eine Nachricht.

Noch eine Anmerkung:
Ich habe nun eine Antwort von Strato bekommen, die mich darauf hingewiesen haben, dass die Datei von Gambio /shop/admin/backups/page_parse_time.log über 30 MB groß sei und Strato dies nicht unterstützt. Eventuell wäre dort noch ein Ansatz um Gambio wieder zum Laufen zu bekommen. Ich werde mich mal mit dem Support von Gambio in Verbindung setzen und fragen ob dort das Problem liegt. Antwort dazu folgt…..

Ich habe nun mal in der neuen Gambio Installation die Store Page Parse Time in der Datenbank eingeschaltet. Siehe da – > Error 500

Um diese bei Gambio auszuschalten, geht bitte in PHP Myadmin klickt auf die Tabelle „configuration“ und sucht den Datensatz „STORE_PAGE_PARSE_TIME“ bei mir hat er die ID 139 und setzt dort den Wert in der Spalte „configuration_value“ auf „false“

Wenn ihr den Error 500 von Anfang an vermeiden wollt, geht ihr ins Backend von Gambio und geht auf „Logging-Optionen“ und setzt den Wert

Speichern der Berechnungszeit der Seite auf „NEIN“

USB-Stick oder MP3-Player mitgewaschen? – Kein Problem!

USB Stick - Quelle: Wikipedia

Vor einigen Tagen hat meine Freundin versehentlich meinen USB-Stick mitgewaschen. Dort waren doch noch ein paar Daten drauf, die man mal wieder verwenden könnte. Wie bekommt man den nun zum laufen?

Ganz einfach!

Ihr nehmt euch destiliertes Wasser und legt den Stick oder MP3 Player dort für 1-2 Tage ein, damit sich alle Salze und Mineralien lösen können.

Danach wartet ihr und legt den Stick auf eine Heizung, damit der wieder trocken wird und siehe da, der Stick funktioniert und es sind sogar noch alle Daten da.

Der Tipp wird vermutlich nicht immer, aber öfter funktionieren.