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

JohnFrea

Sehr aktives Mitglied
21. September 2017
962
302
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.618
1.074
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.234
212
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.873
562
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.873
562
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
1.155
443
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.234
212
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
1.155
443
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.356
519
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.618
1.074
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 Shop Exploit / Hack / JS Injektion Bestellabschluss Vorkasse Iframe Zahlungsumleitung Allgemeine Fragen zu JTL-Shop 4
Neu Suche 10–15 JTL-Shops für kostenlose JTL-Shop-Analyse (verschiedene Branchen) Dienstleistung, Jobs und Ähnliches 0
Neu JTL-Shop 5.7.2 Picture-Tag in mobilen Ansicht lädt beide Bilder JTL-Shop - Fehler und Bugs 0
Seit dem Update meines JTL-Shops auf Version 5.7.1 funktioniert die Verbindung zwischen JTL-Wawi 2.0.4.0 und dem Shop nicht mehr. JTL-Wawi 2.0 5
Neu Shop 5.7.2 - JTL PayPal Checkout legt alles lahm JTL-Shop - Fehler und Bugs 4
Neu IP Adresse einer Kontaktanfrage über den Shop herausfinden Allgemeine Fragen zu JTL-Shop 4
Neu Gibt es in der WaWi-Datenbank einen Zeitstempel, der anzeigt wann ein Kunde sich in einem bestimmten Shop registriert hat? User helfen Usern - Fragen zu JTL-Wawi 3
Beantwortet [Shop 5.7.2 / Wawi 2.0.5] GPSR-Daten werden am Artikel nicht angezeigt trotz korrekter Übertragung und installiertem Plugin Allgemeine Fragen zu JTL-Shop 1
Neu shop steht , brauche Hilfe Allgemeine Fragen zu JTL-Shop 6
Neu DSVGO konform 1000 Kunden in WaWi und Shop löschen! User helfen Usern - Fragen zu JTL-Wawi 4
Neu 500er Fehler im Shop nach aktivierung des Nova Child Templates für JTL-Shop 3
Neu JTL Shop Plugin - BD Automatisierter Widerruf (Von Händler für Händler - Schluss mit Mail-Chaos & Spam-Sorgen!) Plugins für JTL-Shop 0
Neu Rechte-Fehler im J10n Modul und Auswirkung auf base.mo.php in div. Plugins (Shop 5.7.1) JTL-Shop - Fehler und Bugs 0
Neu Welche JTL Shop Plugins oder kleinen Hilfstools würden euch im Alltag wirklich helfen? Plugins für JTL-Shop 0
Beantwortet Shop Abgleich nach Update auf 5.7.2 nicht mehr möglich JTL-Shop - Fehler und Bugs 4
Neu Shop zeigt keine Artikel mehr Fehler 500 Betrieb / Pflege von JTL-Shop 9
Neu Shop 5.7.1 und Downloadmodul Allgemeine Fragen zu JTL-Shop 1
Neu Plugin: JTL Exportformat Google Shopping gibt <g:google_product_category> unter Shop 5.7.1 und Wawi 2.0.4 nicht aus Plugins für JTL-Shop 1
Neu Widerrufsbutton für JTL-Shop 4 Allgemeine Fragen zu JTL-Shop 17
Neu Rabatte aus dem JTL-Shop werden in der Wawi nur als Netto-Preis übernommen, Rabatt % gehen verloren Onlineshop-Anbindung 0
Neu Laut Backend Shop Update für Shop 5.71 - Download nicht zu finden? Betrieb / Pflege von JTL-Shop 3
Neu Kategorie erscheint nicht im Shop Allgemeine Fragen zu JTL-Shop 5
Neu JTL-Shop - Wechsel von Test zum Livebetrieb - was beachten ? Installation / Updates von JTL-Shop 2
Neu Meta Shop seit September 2025: JTL-Lösung für neue Checkout-URL gesucht Allgemeine Fragen zu JTL-Shop 0
Rabatt Coupons in Verbindung mit Staffelpreisen - JTL 1.11.9, JTL Shop JTL-Wawi 1.11 0
Neu Shop-Update auf 5.7.1: Sprachvariablen im Widerrufsformular werden nicht erkannt, obwohl vorhanden?! JTL-Shop - Fehler und Bugs 3
Fehler beim Abgleich mit dem JTL-Shop JTL-Wawi 2.0 12
Neu OnFinds: KI-Suche für JTL-Shop mit fairer Abrechnung nach Artikelanzahl. 30 Tage kostenlos testen Plugins für JTL-Shop 0
Neu Freelancer für JTL-Wawi, Shop & Prozessautomatisierung Dienstleistung, Jobs und Ähnliches 2
Neu JTL Shop 5.7.1 mit Fehlern - versandarten zahlungsarten nicht änderbar, leere weiße Seite JTL-Shop - Fehler und Bugs 5
Neu Massiver jtl-shop-cron aufruf JTL-Shop - Fehler und Bugs 7
Neu Suche Workflow: Erstbestellung Shop auf Rechnung -> Auftrag Zurückhalten JTL-Wawi - Ideen, Lob und Kritik 1
Neu Neues Plugin: Erweiterter Widerrufsbutton für JTL-Shop Plugins für JTL-Shop 9
Neu [Suche 5 Beta-Tester] KI generiert JTL Shop 5 Templates per Beschreibung – kostenlos testen Templates für JTL-Shop 7
Neu Shop gesperrt - Webspace überschritten - Zusatzspace buchen bringt Fehler - Support fühlt sich nicht zuständig Betrieb / Pflege von JTL-Shop 7
Neu Telemetrie-Datenerfassung in JTL-Shop 5.7.0: Bitte um Klarstellung der DSGVO-relevanten Aspekte Allgemeine Fragen zu JTL-Shop 5
Neu GPSR Hersteller werden im Shop nicht angezeigt User helfen Usern - Fragen zu JTL-Wawi 2
Neu Nach Update auf 1.11.9 - alle Shopify Shop nicht mehr connected Shopify-Connector 4
Neu Shop 5.7 update empfhalen Installation / Updates von JTL-Shop 16
Plattformabgleich Shop löschen - Wo ist das in der MySQL DB? JTL-Wawi 2.0 4
Neu Funktioniert Shop 5.7 mit MariaDB 10.5.29? Installation / Updates von JTL-Shop 1
JTL Shop 4 Upgrade auf 5.5.0 --> Fehler 500 Upgrade JTL-Shop4 auf JTL-Shop5 2
JTL Shop 4 Upgrade auf 5.5.0 --> Fehler 404 Upgrade JTL-Shop4 auf JTL-Shop5 11
Neu JTL Shop 5 und Klarna Plugins für JTL-Shop 0
Neu JTL Shop 5.7 - Widerrufsbutton im B2B Templates für JTL-Shop 18
Neu Dropdown jtl shop länge einstellen Allgemeine Fragen zu JTL-Shop 2
JTL-Shop 5.7.0 Widerrufsbutton Einrichtung JTL-Shop5 42
Update auf Shop 5.5.0 von 5.4.1 ist der Shop nicht mehr erreichbar Upgrade JTL-Shop4 auf JTL-Shop5 4
Neu Merkmale Shop an oder Aus Allgemeine Fragen zu JTL-Shop 1
Neu JTL Shop Template Snackys Bildgrößen einstellen Templates für JTL-Shop 1

Ähnliche Themen