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

JohnFrea

Sehr aktives Mitglied
21. September 2017
717
213
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.343
838
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.187
179
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.261
337
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.261
337
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
638
208
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.187
179
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
638
208
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.315
449
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.343
838
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 Badges / Artikelsticker bei JTL Shop 5.3.0 Templates für JTL-Shop 0
Neu - Lieferzeit in Wochen / Monaten statt Tagen SHOP-4080 - wo finde ich diese Möglichlichkeit im Admin Bereich Installation / Updates von JTL-Shop 1
Neu Bug Popup/eModal - JTL Shop 5.3 JTL-Shop - Fehler und Bugs 0
Neu Gravierender Fehler in der Shop Software Betrieb / Pflege von JTL-Shop 3
Gelöst Shop 5.3.1 Fatal Error Gelöste Themen in diesem Bereich 2
Neu Händlerbund Plugin lässt sich nicht installieren Shop ver. 5.3.0 Plugins für JTL-Shop 1
Neu Shop extrem langsam Betrieb / Pflege von JTL-Shop 8
Neu Shop mehrsprachig machen Allgemeine Fragen zu JTL-Shop 6
Neu JTL-Shop 5.3 - Aktuell 5.3.1 Releaseforum 1
Neu JTL 1.8.12.0 - Artikelattribut für Shop importieren - Format CSV-Datei / Hilfe bei Import von individuellen Attributen für JTL-Shop (googlekat) JTL-Ameise - Ideen, Lob und Kritik 1
Neu Merkmalübersetzung wird im Shop nicht angezeigt JTL-Shop - Fehler und Bugs 2
JTL Shop Gutscheine über JTL-Vouchers erstellen Allgemeine Fragen zu JTL-Vouchers 1
Neu Hilfe - Performanceproblem mit Shop durch Worker JTL-Shop - Fehler und Bugs 27
Neu JTL Shop Gutscheine über JTL-Vouchers erstellen Allgemeine Fragen zu JTL-Shop 0
Neu Shop Suchfunktion Probleme mit (HTML-)Sonderzeichen JTL-Shop - Fehler und Bugs 0
Kundenattribute aus Shop übernehmen und aus Wawi zurück an Shop übermitteln Einrichtung JTL-Shop5 1
Neu Produktdaten aus Shop zur Wawi WooCommerce-Connector 9
Neu Unterstützung bei JTL5-Shop-Überarbeitung gesucht - Template/Plugin uvm. Dienstleistung, Jobs und Ähnliches 1
Neu Shop in Unterverzeichnis führt dazu, dass Inhalte aus dem übergeordneten Verzeichnis im Shop gezeigt werden JTL-Shop - Fehler und Bugs 3
Neu Kuriosum - Shop 5.1.5 mit Datenbank 5.2.4 Mischbetrieb nach fehlgeschlagenem Update Installation / Updates von JTL-Shop 8
Neu Weiße Seite nach Update Shop 5.1.5. auf 5.2.4 Installation / Updates von JTL-Shop 24
Neu E-Commerce-Effizienz steigern: Welche Programmiersprache verbessert die JTL-Shop-Entwicklung? Technische Fragen zu Plugins und Templates 1
Neu Kompatibilitätsliste JTL Shop & JTL Wawi Installation / Updates von JTL-Shop 2
Neu JTL-Shop 5 Paypal Zahlung 30 Tage Zahlungsziel Allgemeine Fragen zu JTL-Shop 6
Neu JTL-Shop 5.3.0 RC3 Fehler nach Update Portlet Banner, fehlendes Produkt JTL-Shop - Fehler und Bugs 0
Neu Funktionsattribut unverkäuflich wird nicht an den Shop übertragen Allgemeine Fragen zu JTL-Shop 1
Neu Umstieg von Shopware 5 zu JTL Shop 5 - Ranking behalten Allgemeine Fragen zu JTL-Shop 2
Neu Verbindungsproblem Wawi (1.8.12.0) zum JTL-Shop (5.2.4) über localhost User helfen Usern - Fragen zu JTL-Wawi 0
Neu Lizenz zu verkaufen für JTL-Shop Standard Edition Allgemeine Fragen zu JTL-Shop 4
Neu Suchbegriff hängt Shop auf?! Allgemeine Fragen zu JTL-Shop 2
JTL Shop : automatisch setzen: Verfügbar ab: 28.04.2024 (Vorbestellung möglich) JTL-Wawi 1.8 0
Neu Programmierung eines Tools zur Verwaltung einer Datentabelle (JTL Shop 5) Technische Fragen zu Plugins und Templates 6
I have faced an issue while the JTL Shop order has synchronized to the JTL WAWI 1.8 version. JTL-Wawi 1.8 0
Neu JTL Shop 5 Umfrage!? Allgemeine Fragen zu JTL-Shop 0
Neu Woocommerce mit JTL Connector "Die Shop-URL verweist nicht auf einen gültigen Shop" WooCommerce-Connector 4
Hosting JTL- Shop unter https://...12358.jtl-shop.de/ Einrichtung JTL-Shop5 0
Neu Issue SHOP-1348: Sortierung nach Preis unter Umständen fehlerhaft Allgemeine Fragen zu JTL-Shop 0
Neu JTL-Shop Standard Edition Lizenz zu verkaufen Umstieg auf JTL-Shop 7
Neu WAWI Kategorien werden im Shop nicht angezeigt Gelöste Themen in diesem Bereich 3
Neu Bilder werden Falsch im Shop angezeigt. WooCommerce-Connector 0
Neu Shop nicht mehr erreichbar HTTP 500 Error Betrieb / Pflege von JTL-Shop 1
Neu Wie kann ich im JTL-Shop einen Abwesenheitshinweis einstellen? Allgemeine Fragen zu JTL-Shop 1
Neu JTL Shop 5.30? Allgemeine Fragen zu JTL-Shop 9
Neu Anzeige von Neuheiten und Topsellern im JTL Shop 5 Allgemeine Fragen zu JTL-Shop 2
Neu Variationen im Shop Auswahl zurücksetzen (Plugin?) Betrieb / Pflege von JTL-Shop 3
Neu NEU ✔️ PDF-Angebots-Plugin für den JTL-Shop 5 - PDF Angebote von der Produktseite oder aus dem Warenkorb heraus generieren B2C / B2B Plugins für JTL-Shop 5
Neu JTL Shop funktioniert nicht mehr Allgemeine Fragen zu JTL-Shop 2
Neu Shop im Urlaub offline stellen/oder Benachrichten Allgemeine Fragen zu JTL-Shop 8
Neu JTL Shop Template Domain lösen? Allgemeine Fragen zu JTL-Shop 0
Neu Migration von eCommerce-Integrator auf JTL Connector - Software 5 Shop Onlineshop-Anbindung 2

Ähnliche Themen