BLOG | NGINX

Neuer Joomla Exploit CVE-2015-8562

Floyd Smith Miniaturbild
Floyd Smith
Veröffentlicht am 15. Dezember 2015

Es gibt einen neuen Zero-Day-Exploit in Joomla. Einzelheiten sind in CVE-2015-8562 beschrieben.

Wir empfehlen Ihnen, Joomla umgehend zu aktualisieren. Wenn Sie das jedoch nicht können oder die Dateien auf Ihren Backend-Servern nicht ändern können, können Sie auf dem Frontend einen Fix in NGINX oder NGINX Plus anwenden.

Notiz : Wir empfehlen dringend, Ihre Joomla-Installationen so schnell wie möglich zu aktualisieren, auch wenn Sie Ihre Site heute mit dieser NGINX-Konfiguration patchen.

Über den Exploit und den Patch können Sie unter anderem im Sucuri-Blog oder bei Ars Technica lesen.

Identifizieren des Angriffs

Die ursprünglichen Angriffe kamen von diesen IP-Adressen:

  • Am 12. Dezember 2015 – 74.3.170.33
  • Am 13. Dezember 2015 – 146.0.72.83 und 194.28.174.106

Der Angriff wird normalerweise durch Ändern des User-Agent- Headers durchgeführt und kann anhand dieser Werte im Header identifiziert werden: JDatabaseDriverMysqli und O: (Großbuchstabe O, gefolgt von einem Doppelpunkt).

Joomla bietet den folgenden Beispielprotokolleintrag eines Angriffs.

2015 Dec 12 16:49:07 clienyhidden.access.logSrc IP: 74.3.XX.XX / CAN / Alberta
74.3.XX.XX [12/Dec/2015:16:49:40 -0500] GET /contact/ HTTP/1.1 403 5322 http://google.com/ }__test|O:21:x22JDatabaseDriverMysqlix22:3:..{s:2:x22fcx22;O:17:x22JSimplepieFactoryx22:0:..{}s:21:x22x5C0x5C0x5C0disconnectHandlersx22;a:1:{i:0;a:2:{i:0;O:9:x22SimplePiex22:5:..{s:8:x22sanitizex22;O:20:x22JDatabaseDriverMysqlx22:0:{}s:8:x22feed_urlx22;s:60:..

Anwenden eines Fixes in NGINX oder NGINX Plus

Verwenden Sie diesen Ausschnitt der NGINX-Konfiguration, um die ursprünglichen IP-Adressen und alle Anfragen zu blockieren, deren User-Agent -Header O: oder JDatabaseDriverMysqli enthält. Um zusätzliche IP-Adressen zu blockieren, fügen Sie sie der Liste im zweiten Kartenblock hinzu.

http {    map $http_user_agent $blocked_ua {
        ~(?i)O: 1;
        ~(?i)JDatabaseDriverMysql 1;
        default 0;
    }

    map $remote_addr $blocked_ip {
        74.3.170.33 1;
        146.0.72.83 1;
        194.28.174.106 1;
        default 0;
    }
    
    server {
        listen 80;
        if ($blocked_ua) { return 403; }
        if ($blocked_ip) { return 403; }
        # ...
    }
}

Weitere Informationen zum Einschränken des Zugriffs auf Ihre Site finden Sie im NGINX Plus-Administratorhandbuch .

Posten Sie Ihre Erfahrungen in den Kommentaren unten.


„Dieser Blogbeitrag kann auf Produkte verweisen, die nicht mehr verfügbar und/oder nicht mehr unterstützt werden. Die aktuellsten Informationen zu verfügbaren F5 NGINX-Produkten und -Lösungen finden Sie in unserer NGINX-Produktfamilie . NGINX ist jetzt Teil von F5. Alle vorherigen NGINX.com-Links werden auf ähnliche NGINX-Inhalte auf F5.com umgeleitet."