Neu Shop SQL-Injection Sicherheitslücke - Patch drauf und gut ist? Sonst keine Maßnahmen?

JohnFrea

Sehr aktives Mitglied
21. September 2017
893
284
Moin,

wir hattn ja in letzer Zeit ein paar mal Sicherheitslücken dieser Art. Bisher war der Rat "Patch drauf, wird bisher nicht ausgenutzt, alles schöni". Aber ist dem so? Theoretisch genügen doch die paar Stunden zwischen veröffentlichung des Patches und Einspielen aus, um die Lücke auszunutzen.
Und wenn ich das richtig verstehe, bedeutet SQL Injection nichts anderes als Vollzugriff auf den Shop. Neuen Adminuser anlegen, weitere Sicherheitslücken aufmachen, indem z.B. in eine Artikelbeschreibung Code zum Nachladen von Lücken eingebracht wird. Oder sehe ich das falsch?

Was sind denn Eure Methoden um zu prüfen, ob da nicht bereits etwas im Shop gelaufen ist? Ich finde, von JTL kommt da zu wenig Hilfe bzw. gar keine.

Und wieso bekommt JTL die SQL-Injections nicht in den Griff? Gibts da keine Tests für, die mal das ganze PHP durchtesten?!?

John
 

Verkäuferlein

Sehr aktives Mitglied
29. April 2012
2.606
1.057
Und wieso bekommt JTL die SQL-Injections nicht in den Griff? Gibts da keine Tests für, die mal das ganze PHP durchtesten?!?

Scheinbar laufen ja derartige Tests, sonst würde es die Fixes ja nicht geben, ohne dass es ein Ausnutzen der Sicherheitslücke gab.

Aber grundsätzlich lässt die Häufigkeit natürlich schon gewisse Bauchschmerzen aufkommen, da man natürlich nicht weiß, wieviele derartige Lücken noch (zumindest von JTL) unentdeckt schlummern und vielleicht auch bereits unbemerkt ausgenutzt werden um Daten abzugreifen, etc. pp.

Aber meistens laufen derartige Angriffe ja automatisiert, so dass man vieles schon durch kleine Veränderungen ins Leere laufen lassen kann.

Daher wäre es vielleicht auch ganz gut, wenn man den Link für den Admin-Zugang selber festlegen könnte, dieser also nicht pauschal in allen JTL-Shops identisch ist. Ggf. kann man diesen auch noch zusätzlich per Verzeichnisschutz sichern.

Aber bei einem Vollzugriff auf die DB hilft das ja auch nur gegen einen Teil des Problems.

Ansonsten gibt es ja im Gambio z.B. sowas wie den GProtector, in den JTL- Shop habe ich mich noch nicht soweit eingearbeitet, um zu erkennen, ob es dort ähnliche Funktionalitäten gibt.
 

elevennerds.de

Sehr aktives Mitglied
23. September 2015
1.227
204
Früher hat JTL solche Bugs direkt vor Veröffentlichung im Hosting von JTL gepatcht, jetzt jedoch nicht? Dutzende Shops sind derzeit angreifbar...
 

mh1

Sehr aktives Mitglied
4. Oktober 2020
1.808
545
Der Thread hört sich an, wie wenn JTL hier was vermurkst. Aber ist es nicht so dass SQL-Injections grundsätzlich der Fluch fast jeder datengesteuerten Web-App sind?
Ich kenne den JTL Shop nicht, aber sind die Sicherheitslücken denn nicht eher in den verwendeten Komponenten (Data-Mapper und so), als in dem von JTL geschrieben Code? 🤔
 

mh1

Sehr aktives Mitglied
4. Oktober 2020
1.808
545
Falsche Annahme. Seit dem es PDO gibt, kann es auch keine SQL-Injections mehr geben.
So ganz falsch auch wieder nicht. Es wird ja nicht jede datengesteuerte Web-App mit PHP gebastelt ;)

wenn man sich seinen SQL selbst zusammenpopelt, ist eine solche Lücke möglich. Und genau das macht JTL in der Shop-Software...
Okay, das ist natürlich ein Argument. Ich kenne ja die JTL Shop Software nicht.
 

mvh

Sehr aktives Mitglied
26. Oktober 2011
990
356
Moin.
Dieser Patch ist eine Vorbeugung, konkret geht es um ein Modul (io.php), eine Funktion getArticleByVariations, und eine Konvertierung, genauer gesagt Casting, zu einer Ganzzahl.
Diesen "Fehler" auszunutzen ist sehr schwer, und ja es gibt spezielle Tests für PHP/MySQL, die solche Fehler finden, und genauer deswegen haben wir jetzt dieses Hotfix.
Das ist kein gravierender Fehler und kann JEDEM passieren.
Seit dem es PDO gibt, kann es auch keine SQL-Injections mehr geben.
PDO ist langsam und angreifbar, z.B. s. https://stackoverflow.com/questions...-with-sql-injection-and-why-i-should-use-this
JTL hat "eigene" Bibliothek (mit-)entwickelt und diese wird ziemlich erfolgreich verwendet. Der Fehler hat aber nichts damit zu tun.
 

elevennerds.de

Sehr aktives Mitglied
23. September 2015
1.227
204
JTL hat "eigene" Bibliothek (mit-)entwickelt und diese wird ziemlich erfolgreich verwendet.
Das macht es ja noch schlimmer. Warum hat JTL dann nicht seine eigene Bibliothek benutzt?
Du liest nur Überschriften?

To avoid this type of vulnerability, use mysql_real_escape_string(), prepared statements, or any of the major database abstraction libraries.
 

mvh

Sehr aktives Mitglied
26. Oktober 2011
990
356
Das macht es ja noch schlimmer. Warum hat JTL dann nicht seine eigene Bibliothek benutzt?
Weil sie eigene Funktionen seit "Ewigkeiten" im Shop nutzen, diese basiert je nach Version/Einstellung/Wunsch auf PDO/mysqli/usw.
PDO ist nichts anderes als ein Meta-Layer zwischen Datenbanken/Datenbank-Versionen/etc.
Wenn ich aber eine eigene Bibliothek schon habe, warum auch nicht nutzen ? Ich kann auch meine Funktionen als PDO-Aufruf "kapseln".
Nein, ich programmiere auch manchmal :) . PDO ist einfacher zu benutzen und NiceDB "von" JTL
"basiert" zumindest aktuelle Shop 4 zum Teil auf PDO-Bibliothek (s. class.core.NiceDB.php), was wie dieses Beispiel zeigt, nicht vor SQL Injections schützt.
Aber PDO ist langsamer, weil es einen "zusätzlichen" Layer braucht und manchmal "unflexibel", dafür aber auch einfacher zu erlernen.
Der Fehler hat NICHTS mit magic_quotes, escape_strings, etc. zu tun. Man sollte keine pauschale Aussagen machen, einfach den Code vergleichen.
 

MHillmann

Moderator
Mitarbeiter
11. Oktober 2018
1.349
504
Hallo,

ein paar Antworten zum ersten Beitrag von John und zum Problem im Hosting:

Im Hosting gab es Probleme beim Einspielen der Patches. Diese wurden aber mittlerweile behoben. Alle Hostingkunden haben dazu einen Newsletter mit genaueren Infos erhalten.

Zur Lücke selbst: Da es sich hier um einen Angriff per POST-Request handelt, ist das leider in üblich konfigurierten Access-Logs nicht prüfbar.
Im Hosting haben wir diverse Monitorings die keinerlei verdächtige Aktivitäten aufzeigen. Wir glauben daher weiterhin, dass hier keine Ausnutzung stattfand. Diesbezüglich eine 100%ige Gewissheit zu bekommen, ist in diesem Fall leider nur sehr schwer.
Zwei Dinge die man dennoch prüfen kann:
- das Systemlog auf verdächtige SQL-Fehler prüfen (ab Shop5)
- prüfen ob unbekannte Admin-Accounts angelegt sind oder waren. Macht z.B. tadminlogin.kAdminlogin einen Sprung, wenn man jetzt einen neuen Account anlegt (vorausgesetzt man hatte nicht zuletzt selbst einen Account angelegt und gelöscht)

Viele Grüße
Michael
 
  • Gefällt mir
Reaktionen: John und JulianG

Verkäuferlein

Sehr aktives Mitglied
29. April 2012
2.606
1.057
Der Thread hört sich an, wie wenn JTL hier was vermurkst.

Hm, nö, aus meiner Sicht eher konstruktiv, sorgenvoll.

Ich glaube keiner von uns möchte gerne, dass sein Shop gehacked wird oder Daten abgegriffen werden.
Und dann ist es ja ganz gut, wenn man sich Gedanken darüber macht, wie man mit entsprechenden Probleme umgehen kann, sich austauscht und vielleicht auch Lösungen findet.

Eine wirkliche Lösung gibt es ja auch nicht, nur die Möglichkeit Wahrscheinlichkeiten zu senken.
Meistens sind es ja keine gezielten Angriffe und bei standardisierten Systemen ist es natürlich so, dass eine Lücke viele betrifft und ein Angriff wahrscheinlich ist.

Bei individuellen Systemen ist die Wahrscheinlichkeit geringer, dass nach Lücken (mit großem Aufwand) gesucht wird, diese gefunden und ausgenutzt werden.
Das mit dem Finden gilt allerdings auch für die "gute Seite der Macht", also ist gleichzeitig die Wahrscheinlichkeit größer, dass Lücken vorhanden sind.

Hat wie alles immer Vor- und Nachteile. ;)

Das ist kein gravierender Fehler und kann JEDEM passieren.

Klar, das Grundproblem ist ja leider immer, dass der "Angreifer" nur eine Lücke / einen Fehler finden muss und der "Verteidiger" alle. :)
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu Täglich SQL Backup vom Shop Allgemeine Fragen zu JTL-Shop 2
Neu Shop versendet keine Bestellbestätigung JTL-Shop - Fehler und Bugs 0
Neu Anzeige von mehreren Kundengruppenpreisen im Shop Templates für JTL-Shop 0
WF - automatisches Aktivieren / Deaktivieren für Verkaufskanal Shop JTL-Wawi 1.9 6
Neu Welcher Hoster ist für JTL-Shop 5 empfehlenswert? User helfen Usern 6
Neu Aktuellen JTL Shop installieren *Fehler* Installation / Updates von JTL-Shop 0
Neu JTL Shop Versand Preisstaffel mit negativen Werten?? Allgemeine Fragen zu JTL-Shop 0
Neu Bestellobergrenze (999€) für Schweizer Kunden im Shop hinterlegen Betrieb / Pflege von JTL-Shop 1
Neu Keine plugins im header und footer mehr auf Startseite shop 5.6.0 angezeigt Installation / Updates von JTL-Shop 5
Neu Shop 5.6. pagespeed FCP LCP Optimierung - java script & CSS veraltet bzw. nicht verwendet - Cache Dauer Betrieb / Pflege von JTL-Shop 0
Neu Shop über verschieden Domains in gewünschter Sprache aufrufen ? Betrieb / Pflege von JTL-Shop 5
Neu JTL Shop - OSS - Länderauswahl notwendig ?! JTL-Shop - Ideen, Lob und Kritik 1
Neu Probleme nach Shop Update auf V5.6 Onlineshop-Anbindung 3
Neu JTL Shop Brevo Plugin meldet keine Abmeldungen an JTL Shop + Kontakte landen nicht in der Willkommenssequenz Plugins für JTL-Shop 0
Neu Suche Freelancer für Aufsetzen JTL B2B Shop Dienstleistung, Jobs und Ähnliches 3
Neu JTL-Shop Admin Bereich und Shop nur noch 504 Gateway Time-out ( Hosting über JTL ) User helfen Usern - Fragen zu JTL-Wawi 4
Neu JTL-Shop 5.5.2 – Fehlerhafter Canonical-Tag im Blog-Template verhindert Indexierung durch Google JTL-Shop - Fehler und Bugs 2
Neu JTL Shop Update von 5.3.3 auf 5.6 mit der Community Free Edition - WaWi funktion weiter gegeben? User helfen Usern - Fragen zu JTL-Wawi 1
Neu Googel Weitereitung im Shop URL User helfen Usern 1
Neu JTL Shop - Rabatt pro Kunde möglich ? Allgemeine Fragen zu JTL-Shop 8
Neu JTL-Shop TECHNIK (SalePix) – Problem mit Render Blocking Requests User helfen Usern - Fragen zu JTL-Wawi 2
Neu Kategorierabatte pro Kunde im JTL-Shop Einrichtung von JTL-Shop4 2
Neu Tailwind als Basis für JTL Shop 6 ? Templates für JTL-Shop 2
Neu Kann man das Shop-Guthaben von Kunden per Workflow beeinflussen? User helfen Usern - Fragen zu JTL-Wawi 0
Neu Gewinnbasierte Provision & gezielte Kunden-Zuordnung im JTL Shop / Wawi User helfen Usern 0
Neu Wie kommen die Versandarten aus JTL-Wawi in den JTL-Shop? Betrieb / Pflege von JTL-Shop 7
Neu JTL Shop - Umwandlung Domain von Test auf Live Allgemeine Fragen zu JTL-Shop 1
Neu Neues Plugin: JTL Closed Shop – Zugangsbeschränkung, Pre-Sale & Wartungsmodus für deinen JTL-Shop Plugins für JTL-Shop 1
Lieferzeit / Lieferdatum wird im Shop bei Variantenartikeln nicht angezeigt Allgemeine Fragen zu JTL-Shop 0
Neu Shop Abgleich Onlineshop-Anbindung 1
Neu Kurze Rückfrage zur Einrichtung von 2. Sprache im Shop Allgemeine Fragen zu JTL-Shop 3
Neu Kein Abgleich zwischen WaWi und Shop seit Update möglich Onlineshop-Anbindung 5
Wawi macht keinen Abgleich mehr nach Shop Update JTL-Wawi 1.10 0
Beantwortet Template update nach Shop update auf Installation / Updates von JTL-Shop 4
Url vom Shop korrekt setzten (index.html) Einrichtung JTL-Shop5 16
Beantwortet Übersicht Artikel in welchem Shop aktiv? User helfen Usern - Fragen zu JTL-Wawi 4
Neu In Shop Artikel vorbestellen - zusätzliche Versandkosten? User helfen Usern - Fragen zu JTL-Wawi 4
Neu Shop-Update Einrichtung von JTL-Shop4 3
Neu JTL-Shop 5.6 - Aktuell 5.6.0 Releaseforum 0
Neu Plugin-Idee: Überkäufe Lieferantenbestände & Lieferzeiten (API/CSV/XML) in Shop & Wawi Plugins für JTL-Shop 2
Neu Download-Artikel mit dem Download-Modul anbieten JTL SHOP Plugins für JTL-Shop 6
Brandtexte pro Shop verschieden anzeigen lassen JTL-Wawi 1.10 0
Neu Die folgenden Dateien sind nicht identisch mit den Dateien der aktuellen Version von JTL-Shop. Allgemeine Fragen zu JTL-Shop 0
Kundenstammdaten: Wie erkenne ich in der Wawi, ob ein Shop-Kunde ein Kundenkonto angelegt hat? JTL-Wawi 1.9 2
Neu Auswahl im JTL Shop - keine Rechnung beilegen - wie in Wawi einlesen ? User helfen Usern - Fragen zu JTL-Wawi 6
Neu Was bedeutet das genau: Anzahl nötiger Bestellungen (Zahlungsart im Shop Backend) Allgemeine Fragen zu JTL-Shop 1
Neu Schlechte Shop Ladezeit - Google Pagespeed Allgemeine Fragen zu JTL-Shop 11
Neu Kunden mit registrierten Konto im Shop exportieren User helfen Usern - Fragen zu JTL-Wawi 2
Neu Shop wo Kunden selbst einen Artikel designen können? Smalltalk 3
Neu Ausstellungsstücke korrekt abbilden – nicht im Shop verkaufen, aber in Lagerbewertung sichtbar User helfen Usern - Fragen zu JTL-Wawi 5

Ähnliche Themen