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

JohnFrea

Sehr aktives Mitglied
21. September 2017
530
161
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
1.682
534
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.133
155
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
435
91
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
435
91
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
432
108
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.133
155
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
432
108
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.111
344
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
1.682
534
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 B2B Shop - Versandkosten/Spedition - wie umsetzen? Allgemeine Fragen zu JTL-Shop 0
Neu JTL Shop 4 - Das Ende ist da. Allgemeine Fragen zu JTL-Shop 3
Neu Tipps für die Ladbarkeit JTL Shop 5 NOVA? JTL-Shop - Ideen, Lob und Kritik 2
Neu E-Mail Vorlagen Shop, welche Variable für die Shop-Webseite? Allgemeine Fragen zu JTL-Shop 2
Sämtliche Kinderartikel im JTL-Shop 5 anzeigen Einrichtung JTL-Shop5 0
Neu JTL Shop 5 Lizenz zu verkaufen Business Jungle 0
Neu Hacker angriff??? auf Shop Allgemeine Fragen zu JTL-Shop 2
Neu Längenangabe im Shop Betrieb / Pflege von JTL-Shop 0
Neu Jtl shop 5 Fehler 404 Installation / Updates von JTL-Shop 2
Neu Dropshipping Shop für Bestellungen WaWi soll nicht Federführend sein Shopware-Connector 8
Neu Verbindung von JTL Wawi zu JTL Shop 5 Umstieg auf JTL-Shop 1
Neu Worker gleicht Daten nicht mit ebay und Amazon ab - Shop Abgleich funktioniert Einrichtung und Installation von JTL-eazyAuction 1
Neu Fehlermeldung beim Abgleich mit Shop WooCommerce-Connector 3
Neu Falsche Zahlart bei Einlösung des Shop-Guthabens JTL-Wawi - Fehler und Bugs 0
Neu Sprache in Shop nicht indizieren Allgemeine Fragen zu JTL-Shop 3
Migration von JTL Shop 4 auf JTL Shop 5 - wie ein nahtlosen Übergang vorbereiten? Upgrade JTL-Shop4 auf JTL-Shop5 4
Neu Rabattcodes im JTL Shop Kasse einlösen Allgemeine Fragen zu JTL-Shop 0
Neu Stücklisten Artikel verstecken im Shop möglich? User helfen Usern - Fragen zu JTL-Wawi 4
Beantwortet Kein Shopabgleich nach Wawi Update auf 1.6.44 mit Shop 4.06 (Build: 18) JTL-Wawi 1.6 1
JTL-Shop (Docker) in Subdirectory hinter NGINX Einrichtung JTL-Shop5 5
Neu Update auf Shop 4.06 - Variationen können nicht in den Warenkorb gelegt werden Installation / Updates von JTL-Shop 0
Neu Error 500 auf einzelnen Artikelseiten, sonstiger Shop funktioniert JTL-Shop - Fehler und Bugs 2
Neu Shop 5 Evo-Child Template Probleme Allgemeine Fragen zu JTL-Shop 1
Neu Shop 5.1.5 Warnmeldung für MariaDB 10.5.16 - wieso? Betrieb / Pflege von JTL-Shop 2
Neu Content aus Plenty in JTL Shop importieren Umstieg auf JTL-Shop 4
Neu Kein Shop mehr auslesbar.... seit JTL Version 1.6.44.0 Modified eCommerce-Connector 7
Neu integrating existing ebay shop Starten mit JTL: Projektabwicklung & Migration 0
Neu Größeres Logo im Header JTL Shop 5 Allgemeine Fragen zu JTL-Shop 1
Neu Eigene Felder oder Attribute im Shop anzeigen Betrieb / Pflege von JTL-Shop 4
Neu Filtern nach "Material" im JTL-Shop Allgemeine Fragen zu JTL-Shop 1
Neu Sonderpreis JTL Shop 5 Exportformate Allgemeine Fragen zu JTL-Shop 1
Neu Probleme mit Händlerpreisen im Shop User helfen Usern - Fragen zu JTL-Wawi 0
Neu Plugin lassen sich im neuen 5er Shop nicht installieren über meine Käufe Upgrade JTL-Shop4 auf JTL-Shop5 5
Neu Alle Kunden aus JTL Shop 5 nach Shopware 6 exportieren Shopware-Connector 1
Neu JTL Shop sendet keine Versandbestätigung User helfen Usern - Fragen zu JTL-Wawi 6
Neu Gutscheinlösung bei Woocommerce-Shop und JTL-Wawi Onlineshop-Anbindung 0
Neu Ist es möglich überall im Shop ..... User helfen Usern - Fragen zu JTL-Wawi 5
Neu Suche Freelancer / kleine Agentur / Profi "Aufsetzen" von JTL-Shop Dienstleistung, Jobs und Ähnliches 3
Neu Darstellungsfehler Shop und JTL Search JTL-Shop - Fehler und Bugs 5
Neu Shop Abgleich funktioniert nicht User helfen Usern - Fragen zu JTL-Wawi 0
Nach Migration auf Shop auf Shop 5.1.5: Synchronisation Wawi mit Webshop geht nicht Upgrade JTL-Shop4 auf JTL-Shop5 2
Neu JTL Shop 4.06 läuft nicht mit PHP 8.0 ? Daten im Thread. Allgemeine Fragen zu JTL-Shop 4
Neu Guthaben im JTL-Shop: Ausschließliche Zahlung per Guthaben und Erhöhung Allgemeine Fragen zu JTL-Shop 0
Neu Zuschläge bei Versandarten - JTL Shop 5 Plugins für JTL-Shop 0
Nach Serverbrand: Kundendaten aus Wawi zu Shop 5 JTL-Wawi 1.6 0
Artikel und Artikelbilder ohne Bestand nicht in JTL Shop synchronisieren Einrichtung JTL-Shop5 0
Neu JTL Shop 5 Wawi 1.6.41.2 Worker Allgemeine Fragen zu JTL-Shop 4
Produktmerkmale für Shop-Filter (Shopware) JTL-Wawi 1.6 0
Neu JTL-Shop Update von 5.1.2 auf 5.xxx auf - Wer kann kurzfristig helfen? Installation / Updates von JTL-Shop 7
Neu Benötige Hilfestellung bei Shop-Guthaben und Apple Pay Arbeitsabläufe in JTL-Wawi 2

Ähnliche Themen