Tag-Archive for » Cross Site Scripting «

Sicherheitsupdate 3.7.3 für CMS Joomla

Mehrere schwere Sicherheitsprobleme mit der Einstufung „hoch“ werden mit dem aktuellen Security- und Bug-Fix-Release 3.7.3 von Joomla behoben. Dabei wurden auch mehrere andere Bugs in dem CMS beseitigt.

Zei der schweren Sicherheitslücken bestehen in den Versionen von 1.7.3 bis einschließlich 3.7.2. Durch die Lücke CVE-2017-9933 können Daten aus dem Cache leaken, die Lücke CVE-2017-9934 lässt sich wegen mangelnder Überprüfung von Dateneingaben für Angriffe per Cross Site Scripting (XSS) nutzen.

Die dritte schwere Lücke, ebenfalls eine Verwundbarkeit für mit Cross Site Scripting, ist sogar schon ab Version 1.5.0 bis Version 3.7.2 zu finden.

Daher sollten Nutzer der gefährdeten Joomla-Versionen möglichst umgehend die abgesicherte Version Joomla 3.7.3 installieren.

Online-Shops mit xt:Commerce sind akut gefährdet

Zehntausende von Online-Shops haben ein Problem: Die Shopsoftware xt:Commerce 3 und deren Forks wie Gambio und Modified haben zwei Schwachstellen, die es zusammen Angreifern gestatten, Shops komplett zu übernehmen.

Nach ersten groben Schätzungen wird die Software in ungefähr 50.000 Shops genutzt. Es gibt allerdings schon Workarounds und Patches, um sich dagegen zu schützen.

Entdeckt wurde die Lücke von Gambio-Entwicklern, die das Problem selbst als kritisch einstuften und alle ihre registrierten Shopbetreiber schon informierten. Die Lücken wurden bei internen Tests entdeckt. Deshalb nehmen die Entwickler an, dass sie aktuell noch nicht aktiv ausgenutzt werden. Das könnte sich aber nach dem Bekanntwerden jetzt sehr schnell ändern.

Es handelt sich bei den Sicherheitslücken um ein persistentes XSS (Cross Site Scripting)- und ein CSRF (Cross Site Request Forgery)-Problem. Richtig ausgenutzt, können Angreifer damit den Admin-Zugang des Shops übernehmen. Betroffen sind davon xt:Commerce bis Version 3.04 SP2.1, Gambio bis v2.0.13.3, Modified (alle Versionen) und möglicherweise noch weitere xt:Commerce-Weiterentwicklungen.

Einfacher Schutz vor Cross Site Scripting

Das Cross Site Scripting (XSS) gehört zu den häufigsten Angriffsmethoden auf Internetseiten. Dabei bezieht sich das Cross Site nicht unbedingt darauf, dass zwei Seiten beteiligt sind, sondern darauf, dass der Angriff zwischen mehreren Aufrufen einer Seite passiert. Grundsätzlich ist Cross Site Scripting eine spezielle Form von HTML-Injection, und es passiert meist in Formularen, in denen Benutzerdaten eingegeben und ungeprüft weiterverarbeitet werden. Da kann dann ein Angreifer leicht ausführbaren Programmcode ins System schmuggeln.

Sie haben das vielleicht schon einmal im Gästebuch, Blog, Wiki oder Forum erlebt. Ein Angreifer gibt zum Beispiel dort einen Schadcode ein, der dann auf dem Client eines Benutzers, der sich das Gästebuch anschaut, ausgeführt wird. Der Schadcode ist meist in Javascript geschrieben.

Deshalb sollte man beim Erstellen einer solchen Seite alles tun, um das injizieren von ausführbarem Code zu verhindern. Dazu bieten sich mehrere einfache Möglichkeiten an, die die Sicherheit merkbar erhöhen.

Zunächst sollte man alle Eingaben von Benutzern als unsicher und bösartig betrachten und deshalb auf jeden Fall vor die weitere Verarbeitung eine Prüfung der Eingabewerte schalten. Als erstes sollte die Länge geprüft werden. Eine deutsche Postleitzahl mit mehr als 5 Stellen ist je nach Inhalt entweder ein Eingabefehler und sollte dem Benutzer zurück gemeldet werden oder aber ein versuchter XSS-Angriff. Prüfen kann man die Länge mit einem Befehl wie:

If (strlen($plz) > 5) die „Postleitzahl ist ungültig!“ ;

In ähnlicher Weise kann man auch auf den Datentyp prüfen. Diese Überprüfungen bringen aber selten einen XSS-Angriff ans Licht, sondern eher allgemeine Manipulationsversuche an den Parametern oder einfach nur Eingabefehler. Auch das verbessert die Qualität des Formulars. Um aber zum Beispiel die Tags eines Angreifer-Scripts zu entfernen, können Sie die Funktion strip_tags() von PHP benutzen. Der Befehl:

$nachrichtok=strip_tags($nachricht);

entfernt alle HTML-Tags aus dem Eingabefeld $nachricht und stellt eine bereinigte Version in die Variable $nachrichtok. Selbst wenn hier Javascript-Code eingefügt wurde, kann er so keinen Schaden mehr anrichten.

Schon diese einfachen Maßnahmen lassen den größten Teil der Angriffe auf formularbasierte Funktionen von Internetseiten scheitern. Wenn man hier allerdings absolute Sicherheit haben möchte, oder wenn man HTML-Formatierungen zulassen und trotzdem sicher für XSS sein möchte, hilft nur ein noch tieferes Eindringen in die Materie. Eine Suche in Google mit den entsprechenden Suchbegriffen führt hier weiter.

Category: Allgemein  Tags: , ,  Comments off