01
Zuerst die Aktion des Administrators

Aktualisieren Sie Forminator, bevor Sie Firewalls vergleichen

Eine Firewall ist eine zusätzliche Ebene und kein Ersatz für eine korrigierte Upload-Logik.

  1. 1
    Installieren Sie die neueste unterstützte Forminator-Version

    NVD identifiziert Versionen bis 1.24.6 als betroffen. Installieren Sie keine alte historische Version, nur weil sie die ursprüngliche Korrektur enthält.

  2. 2
    Bestätigen Sie die aktive Version

    Überprüfen Sie die auf dem WordPress-Plugin-Bildschirm angezeigte Version und stellen Sie sicher, dass verlassene Kopien nicht an anderer Stelle auf dem Server zurückbleiben.

  3. 3
    Überprüfen Sie ältere exponierte Websites

    Wenn 1.24.6 oder früher öffentliche Post-Image-Uploads akzeptiert, untersuchen Sie unerwartete ausführbare Dateien, insbesondere unter Upload-Verzeichnissen, und überprüfen Sie zugehörige Anforderungs- und Dateiänderungsprotokolle.

  4. 4
    Behandeln Sie verdächtige Dateien als Vorfall

    Bewahren Sie Protokolle und ein Backup auf, untersuchen Sie die Persistenz, rotieren Sie betroffene Anmeldeinformationen nach der Eindämmung und befolgen Sie die Anweisungen Anleitung zur Malware-Bereinigung.

02
CVE-2023-4596

Die Sicherheitslücke im Klartext

Der betroffene Post-Image-Pfad hat eine Datei geschrieben, bevor die Prüfung abgeschlossen wurde, die entschied, ob der endgültige Dateityp zulässig war.

In Forminator bis 1.24.6, upload_post_image() Lesen Sie die hochgeladenen Daten, wählen Sie einen endgültigen Dateinamen aus und schreiben Sie die Datei. Erst danach rief der Code die WordPress-Dateitypprüfung auf, um zu entscheiden, ob die endgültige Erweiterung zur Liste der zulässigen Bilder gehörte.

Der WordPress-Änderungssatz hat den Schreibvorgang in den erfolgreichen Validierungszweig verschoben. Diese Reihenfolge ist wichtig: Die Validierung kann einen gefährlichen Endnamen nur dann ablehnen, wenn sie ausgeführt wird, bevor der Server die Datei erstellt.

03
Was das Archiv unterstützt

Historischer Testumfang

Das Archiv bewahrt die Tabelle und Prosa, jedoch nicht genügend Details für einen aktuellen oder vollständig reproduzierbaren Vergleich.

Testdatum
2. September 2023
Ziel
Forminator 1.24.6 Post-Image-Upload-Pfad
Verkehrsquelle
Laut Originalartikel ein AWS-Mikroserver
Testeingabe
Das öffentliche Exploit-DB-Beispiel, auf das im Artikel verwiesen wird; Hier wird keine Nutzlast wiedergegeben
Produkte
Wordfence, NinjaFirewall, Shield Security, SiteGround Security und BitFire
Konfigurationsanspruch
Die Autoren berichteten, dass sie alle verfügbaren Sicherheitsoptionen aktiviert hätten

Die aktualisierte Tabelle ist eine Bewahrung der datierten, von BitFire verfassten Beobachtung – kein erneuter Test. Jeder Status unten ist ein Textersatz für die ursprüngliche Legende: blockiert, umgangen, nicht blockiert oder manuelle Regel. Es wurde kein fehlendes Ergebnis abgeleitet.

04
Die dauerhafte Lektion

An sieben Stellen könnte die Kette unterbrochen werden

Jede Steuerung sieht einen anderen Teil derselben Anfrage. Ein nützliches Design hängt nicht davon ab, dass alle sieben funktionieren.

01Schränken Sie den Client ein

Die Bot-Identität oder Anforderungsrichtlinie kann die erste Verbindung stoppen.

02Überprüfen Sie den Originalnamen

Lehnen Sie eine Verlängerung ab, die eindeutig gefährlich ist.

03Validieren Sie den endgültigen Namen

Überprüfen Sie es nach der Bereinigung oder Umbenennung erneut.

04Überprüfen Sie den Inhalt

Schauen Sie über die Erweiterung hinaus nach ausführbarem PHP.

05Autorisieren Sie den Schreibvorgang

Die Laufzeitrichtlinie kann einen nicht autorisierten PHP-Schreibvorgang ablehnen.

06Hinrichtung verhindern

Die Serverrichtlinie kann dafür sorgen, dass Upload-Verzeichnisse nicht ausführbar sind.

07Beschränken Sie den ausgehenden Datenverkehr

Netzwerkrichtlinien können bekanntes Command-and-Control-Verhalten einschränken.

Die Stufen eins bis fünf können verhindern, dass die Datei erstellt oder akzeptiert wird. Stufe sechs lässt normale Uploads zu, verhindert jedoch, dass der Webserver sie als PHP ausführt. Stufe sieben tritt später ein und kann eine Art der Kommunikation nach dem Kompromiss einschränken; Der frühere Upload wird dadurch nicht rückgängig gemacht.

05
Erhaltene historische Ergebnisse

Ergebnisse des Tests vom September 2023

Lesen Sie jede Zelle als „in diesem Test“, wobei die Beschränkung auf fehlende Versionen auf die gesamte Tabelle angewendet wird.

In diesem Test blockiertIn diesem Test umgangenIn diesem Test nicht blockiertManuelle Schadensbegrenzung verfügbar, aber nicht aktiviert/getestetNicht aufgezeichnet
Von BitFire verfasster Forminator 1.24.6-Test, 2. September 2023. Produktversionen wurden nicht aufgezeichnet.
Sicherheits-Plugin1. Kundenbeschränkung2. Erweiterungsprüfung3. Validierung des endgültigen Namens4. Inhaltsprüfung5. Laufzeit-Schreibkontrolle6. Ausführungsrichtlinie hochladen7. Ausgehender Tool-Verkehr
WordfenceIn diesem Test nicht blockiertIn diesem Test umgangenIn diesem Test nicht blockiertIn diesem Test umgangenIn diesem Test nicht blockiertManuelle Schadensbegrenzung verfügbar, aber nicht aktiviert/getestetIn diesem Test nicht blockiert
NinjaFirewallIn diesem Test nicht blockiertIn diesem Test umgangenIn diesem Test nicht blockiertIn diesem Test nicht blockiertIn diesem Test nicht blockiertManuelle Schadensbegrenzung verfügbar, aber nicht aktiviert/getestetIn diesem Test nicht blockiert
SchildsicherheitIn diesem Test nicht blockiertIn diesem Test nicht blockiertIn diesem Test nicht blockiertIn diesem Test nicht blockiertIn diesem Test nicht blockiertIn diesem Test nicht blockiertIn diesem Test nicht blockiert
SiteGround-SicherheitIn diesem Test nicht blockiertIn diesem Test nicht blockiertIn diesem Test nicht blockiertIn diesem Test nicht blockiertIn diesem Test nicht blockiertIn diesem Test nicht blockiertIn diesem Test nicht blockiert
BitFireIn diesem Test blockiertIn diesem Test blockiertManuelle Schadensbegrenzung verfügbar, aber nicht aktiviert/getestetIn diesem Test blockiertIn diesem Test blockiertManuelle Schadensbegrenzung verfügbar, aber nicht aktiviert/getestetIn diesem Test blockiert

So wurden die alten Symbole aktualisiert: Die vier ursprünglichen Symbolkategorien lauten jetzt „Blockiert“, „Umgangen“, „Nicht blockiert“ und „Manuelle Schadensbegrenzung verfügbar“. „Nicht erfasst“ ist der Vollständigkeit halber in der Legende enthalten, wurde jedoch für eine Zelle nicht benötigt, da die alte Tabelle an jeder Position ein Symbol enthielt.

06
Was direkt gemeldet wurde

Beobachtungen pro Produkt

Diese Anmerkungen erläutern die historische Tabelle. Sie erheben keinen Anspruch auf aktuelle Funktionen oder die aktuelle Standardkonfiguration.

Wordfence

Offizielle Plugin-Seite

Der ursprüngliche Test ergab, dass die Clientbeschränkung die Anfrage nicht gestoppt hat. Seine Erweiterungs- und Dateiinhaltsprüfungen erkannten einen Teil des Beispiels, wurden jedoch von den Testvarianten umgangen. Kein Final-Name- oder Runtime-Write-Steuerelement hat die Anforderung gestoppt. In dem Artikel wurde berichtet, dass das Blockieren des direkten PHP-Zugriffs unter Uploads durch eine optimierte/manuelle Serverregel möglich sei, diese Abhilfe jedoch nicht Teil des getesteten Ergebnisses sei. Ausgehender Tool-Verkehr wurde nicht blockiert.

NinjaFirewall

Offizielle Plugin-Seite

Die Testanforderung wurde nicht durch Clienteinschränkung, Validierung des endgültigen Namens, Inhaltsprüfung, Laufzeitschreibkontrolle oder Ausgangsfilterung gestoppt. Die Erweiterungsprüfung wurde im Test umgangen. Der alte Artikel beschrieb eine manuelle Option zum Verweigern des PHP-Zugriffs unter Uploads, testete diese jedoch nicht als aktivierte Steuerung.

Schildsicherheit

Offizielle Plugin-Seite

Keine der sieben beobachteten Stufen blockierte diese spezielle Anfrage in der aufgezeichneten Konfiguration. Dieses knappe Ergebnis stellt nicht fest, was Shield Security jetzt unterstützt, was eine andere Konfiguration bewirken würde oder ob unabhängige Kontrollen wirksam waren.

SiteGround-Sicherheit

Offizielle Plugin-Seite

Keine der sieben Stufen hat diese spezielle Anfrage in der aufgezeichneten Konfiguration blockiert. Der Test war auf diese Upload-Kette beschränkt und sollte nicht auf die anderen Sicherheits- oder Kontofunktionen des Produkts verallgemeinert werden.

BitFire

Offizielle Plugin-Seite

Die aufgezeichnete Konfiguration blockierte die Anfrage bei Clienteinschränkung, Erweiterungsprüfung, Dateiinhaltsprüfung, Laufzeitschreibkontrolle und Ausgangsfilterung. In der ursprünglichen Prosa wurde darauf hingewiesen, dass die Bot-Richtlinien in einem entspannten Modus abweichen könnten. Der Erweiterungsprüfung wurde die Bewertung des bereinigten endgültigen Namens zugeschrieben, während die dedizierte Sanitize-Hook-Stufe und die Server-Upload-Verzeichnisregel als manuelle Abhilfemaßnahmen und nicht als getestete Blöcke markiert wurden.

07
Was Administratoren behalten sollten

Erstellen Sie unabhängige Kontrollen rund um Uploads

Der Tisch wird altern. Die sicheren Designprinzipien sind nicht von einem bestimmten Produkt abhängig.

Patchen Sie anfällige Software

Beseitigen Sie den bekannten Fehler, anstatt von jeder Verteidigungsschicht zu verlangen, ihn für immer zu kompensieren.

Vor dem Schreiben validieren

Überprüfen Sie vor der Speicherung sowohl den Originalnamen als auch den endgültigen bereinigten oder generierten Dateinamen.

Überprüfen Sie Inhalte und Erweiterungen

Ein Dateiname ist ein Signal. Hochgeladene Bytes und erwartetes Medienverhalten liefern zusätzliche Beweise.

Halten Sie Uploads nicht ausführbar

Wenn die Anwendungs- und Hosting-Anforderungen dies zulassen, konfigurieren Sie Upload-Verzeichnisse, damit PHP dort nicht ausgeführt werden kann.

Gefährliche Schreibvorgänge zur Laufzeit autorisieren

Eine zweite Grenze kann ausführbare Schreibvorgänge ablehnen, die nicht zu einem authentifizierten, erwarteten Vorgang gehören.

Überwachen Sie Dateien und ausgehendes Verhalten

Suchen Sie nach unerwarteten ausführbaren Dateien, Änderungen nach dem Hochladen, Direktzugriff und ungewöhnlichen externen Verbindungen.

08
Methodik und Offenlegung

Grenzen, kommerzielles Interesse und Quellen

Ein fairer Vergleich macht Unsicherheit sichtbar und liefert dem Leser den ersten Beweis.

Primäre und offizielle Referenzen

Über den Autor

Cory Marsh

Cory verfügt über mehr als 20 Jahre Erfahrung im Bereich Internetsicherheit und ist einer der Hauptentwickler des BitFire-Projekts.

Lesen Sie mehr über die BitFire-Forschung →
Verwenden Sie den historischen Test sorgfältig

Haben Sie Beweise, die diesen Rekord verbessern?

Senden Sie eine datierte Version, Konfiguration, ein reproduzierbares Ergebnis oder eine Korrektur. Wir prüfen nützliche Unterlagen und machen die Einschränkung sichtbar.

Schützen Sie meine Website kostenlos –