#336 closed Bug/Fehler (invalid)
Webseiten mit SQL-Injection-Schwachstellen
| Reported by: | drolingdany | Owned by: | somebody |
|---|---|---|---|
| Priority: | normal | Milestone: | |
| Component: | Sicherheit | Version: | 1.06 |
| Keywords: | Cc: | ||
| Blocked By: | Blocking: |
Description
Guten Morgen zusammen,
gestern Abend erhielt ich von unserem Hoster folgende eMail:
Sehr geehrter Kunde, wir wurden heute von CERT-Bund unterrichtet das Ihre Webseite eine schwerwiegende Sicherheitslücke aufweist. Anbei die Email im Anhang als TXT-Format. Im Betreff finden Sie die entsprechende AbuseID unter der diese Sicherheitslücke bearbeitet wird. Folgender URL wurde bei dem Sicherheistcheck gemeldet: http://aktivstoffe.de/index.php?language=fr&cPath=2&page=-1%27 Ich bitte Sie schnellstens die entsprechenden Gegenmassnahmen einzuleiten und uns über den Stand bis Ende der Woche zu unterrichten. Ich bedanke mich im vorraus für Ihre Unterstützung.
In der angehängten txt Datei befand sich folgender Text des CERT-Bunds:
Sehr geehrte Damen und Herren, CERT-Bund hat von einer externen vertrauenswürdigen Quelle eine Liste in Deutschland gehosteter Webseiten erhalten, welche offenbar für SQL-Injection-Angriffe (unzureichende Validierung von Benutzereingaben bzw. URL-Parametern) verwundbar sind. Der Quelle zufolge wurden die Schwachstellen bereits von Cyber-Kriminellen ausgenutzt, um Zugangsdaten sowie ggf. weitere in den Datenbanken der Webseiten gespeicherte persönliche Daten der jeweiligen Nutzer auszuspähen. Die uns zur Verfügung gestellte Liste enthält jeweils eine URL, welche die SQL-Schwachstelle in einem GET- bzw. POST-Request verdeutlichen soll, zum Beispiel durch Rückgabe einer SQL-Fehlermeldung mit Nennung konkreter Datenbanktabellenfelder. Nachfolgend senden wir Ihnen eine Liste betroffener URLs in Ihrem Netzbereich. Wir möchten Sie bitten, den Sachverhalt zu prüfen und Maßnahmen zur Bereinigung und Absicherung der betroffenen Websites zu ergreifen bzw. Ihre Kunden entsprechend zu informieren. Aus rechtlichen Gründen kann das BSI die Verwundbarkeit der einzelnen Webseiten nicht verifizieren. Es kann daher keine Gewähr für die Richtigkeit der uns zur Kenntnis gelangten Informationen übernommen werden. Mit der Weitergabe dieser Informationen an Sie ist der Vorgang für uns abgeschlossen. Für eine Rückmeldung über ggf. getroffene Maßnahmen wären wir dennoch dankbar. Bitte beachten Sie: Dies ist eine automatisch generierte Nachricht. An die Absenderadresse kann nicht geantwortet werden. Bei Rückfragen wenden Sie sich bitte an . Liste der Beispiel-URLs für verwundbare Webseiten in Ihrem Netzbereich: Format: ASN | IP-Adresse | URL 24940 | 5.9.66.61 | http://aktivstoffe.de/index.php?language=fr&cPath=2&page=-1%27 Mit freundlichen Grüßen das Team CERT-Bund
Ich verstehe leider überhaupt nicht, wie es dazu kommen kann. Was mir auffällt, ist, dass in der URL die französische Sprache angesteuert wird, diese aber gar nicht installiert ist.
Shop Version: 1.06
PHP Version: 5.3
Wenn es danach geht, müsste doch jeder Shop betroffen sein, oder?
Vielen Dank für eure Hilfe!
Attachments (1)
Change History (3)
comment:1 by , 11 years ago
| Resolution: | → invalid |
|---|---|
| Status: | new → closed |
comment:2 by , 11 years ago
Nach Rücksprache mit dem BSI kamen wir dem "Problem" auf die Spur. Es ist hier eindeutig keine SQL-Injection möglich, aber man kann sich daran stören, dass der Shopbesucher SQL-Fehlermeldungen angezeigt bekommt. Dieses Problem ist nur bis einschliesslich der Shopversion 1.05 SP1b vorhanden. Ab Shopversion 1.05 SP1c sind die folgenden Änderungen nicht mehr notwendig.
Im Ordner "/inc/" die Datei "xtc_db_error.inc.php" mit der aus dem Anhang ersetzen.
Datei "/inlcudes/application_top.php" bearbeiten.
Suche:
// set the level of error reporting error_reporting(E_ALL & ~E_NOTICE); // error_reporting(E_ALL);
und ersetze mit:
// set the level of error reporting
@ini_set('display_errors', false);
error_reporting(0);
//error_reporting(E_ALL & ~E_NOTICE);
//error_reporting(E_ALL);

Der $page Parameter ist gecastet, insofern können hier nur Dezimalwerte übergeben werden. Eine Sicherheitslücke sehen wir nicht, da darüber kein SQL-Code "injected" werden kann.
Das gilt natürlich nur für unsere unveränderte Download-Version. Es ist natürlich jederzeit möglich sich über Drittanbieter-Module Schwachstellen in den Code einzubauen.
Für eine genaue Diagnose Ihres im Code veränderten Shops melden Sie sich bitte nochmal direkt bei uns über unser Kontaktformular.