Aktualisieren Sie Forminator, bevor Sie Firewalls vergleichen
Eine Firewall ist eine zusätzliche Ebene und kein Ersatz für eine korrigierte Upload-Logik.
- 1Installieren 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.
- 2Bestä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Ü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.
- 4Behandeln 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.
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.
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.
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.
Die Bot-Identität oder Anforderungsrichtlinie kann die erste Verbindung stoppen.
Lehnen Sie eine Verlängerung ab, die eindeutig gefährlich ist.
Überprüfen Sie es nach der Bereinigung oder Umbenennung erneut.
Schauen Sie über die Erweiterung hinaus nach ausführbarem PHP.
Die Laufzeitrichtlinie kann einen nicht autorisierten PHP-Schreibvorgang ablehnen.
Die Serverrichtlinie kann dafür sorgen, dass Upload-Verzeichnisse nicht ausführbar sind.
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.
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.
| Sicherheits-Plugin | 1. Kundenbeschränkung | 2. Erweiterungsprüfung | 3. Validierung des endgültigen Namens | 4. Inhaltsprüfung | 5. Laufzeit-Schreibkontrolle | 6. Ausführungsrichtlinie hochladen | 7. Ausgehender Tool-Verkehr |
|---|---|---|---|---|---|---|---|
| Wordfence | In diesem Test nicht blockiert | In diesem Test umgangen | In diesem Test nicht blockiert | In diesem Test umgangen | In diesem Test nicht blockiert | Manuelle Schadensbegrenzung verfügbar, aber nicht aktiviert/getestet | In diesem Test nicht blockiert |
| NinjaFirewall | In diesem Test nicht blockiert | In diesem Test umgangen | In diesem Test nicht blockiert | In diesem Test nicht blockiert | In diesem Test nicht blockiert | Manuelle Schadensbegrenzung verfügbar, aber nicht aktiviert/getestet | In diesem Test nicht blockiert |
| Schildsicherheit | In diesem Test nicht blockiert | In diesem Test nicht blockiert | In diesem Test nicht blockiert | In diesem Test nicht blockiert | In diesem Test nicht blockiert | In diesem Test nicht blockiert | In diesem Test nicht blockiert |
| SiteGround-Sicherheit | In diesem Test nicht blockiert | In diesem Test nicht blockiert | In diesem Test nicht blockiert | In diesem Test nicht blockiert | In diesem Test nicht blockiert | In diesem Test nicht blockiert | In diesem Test nicht blockiert |
| BitFire | In diesem Test blockiert | In diesem Test blockiert | Manuelle Schadensbegrenzung verfügbar, aber nicht aktiviert/getestet | In diesem Test blockiert | In diesem Test blockiert | Manuelle Schadensbegrenzung verfügbar, aber nicht aktiviert/getestet | In 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.
Beobachtungen pro Produkt
Diese Anmerkungen erläutern die historische Tabelle. Sie erheben keinen Anspruch auf aktuelle Funktionen oder die aktuelle Standardkonfiguration.
Wordfence
Offizielle Plugin-SeiteDer 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-SeiteDie 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-SeiteKeine 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-SeiteKeine 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-SeiteDie 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.
Erstellen Sie unabhängige Kontrollen rund um Uploads
Der Tisch wird altern. Die sicheren Designprinzipien sind nicht von einem bestimmten Produkt abhängig.
Beseitigen Sie den bekannten Fehler, anstatt von jeder Verteidigungsschicht zu verlangen, ihn für immer zu kompensieren.
Überprüfen Sie vor der Speicherung sowohl den Originalnamen als auch den endgültigen bereinigten oder generierten Dateinamen.
Ein Dateiname ist ein Signal. Hochgeladene Bytes und erwartetes Medienverhalten liefern zusätzliche Beweise.
Wenn die Anwendungs- und Hosting-Anforderungen dies zulassen, konfigurieren Sie Upload-Verzeichnisse, damit PHP dort nicht ausgeführt werden kann.
Eine zweite Grenze kann ausführbare Schreibvorgänge ablehnen, die nicht zu einem authentifizierten, erwarteten Vorgang gehören.
Suchen Sie nach unerwarteten ausführbaren Dateien, Änderungen nach dem Hochladen, Direktzugriff und ungewöhnlichen externen Verbindungen.
Grenzen, kommerzielles Interesse und Quellen
Ein fairer Vergleich macht Unsicherheit sichtbar und liefert dem Leser den ersten Beweis.
Primäre und offizielle Referenzen
- NVD-Eintrag für CVE-2023-4596
Betroffene Versionen bis 1.24.6, Schwachstellenbeschreibung und CVSS 3.1-Bewertung.
- WordPress-Änderungssatz 2954409 für Forminator
Verschiebt die Dateierstellung nach der erfolgreichen abschließenden Dateitypprüfung.
- Historische öffentliche Exploit-DB-Referenz
Die vom ursprünglichen Test zitierte Probe. Dieser Artikel gibt seine Nutzlast nicht wieder.
- Offizielle Forminator-Plugin-Seite und Änderungsprotokoll
Aktuelle Release-Informationen. Das historische Änderungsprotokoll nennt diesen Fix nicht explizit.
- Offizielle Seite von Wordfence, Offizielle NinjaFirewall-Seite, Offizielle Seite von Shield Security, Offizielle Seite von SiteGround Security, und Offizielle BitFire-Seite
Verwenden Sie für aktuelle Funktionen die aktuelle Herstellerdokumentation anstelle dieser Tabelle von 2023.


