
Cake Fuzzer ist ein Projekt, das dabei helfen soll, automatisch und kontinuierlich Schwachstellen in Webanwendungen zu entdecken, die auf Basis bestimmter Frameworks erstellt wurden – mit sehr wenigen Fehlalarmen.
Neueste Version: 1.0
Lizenz: GNU GPL v3.0
Cake Fuzzer ist ein Projekt, das dazu dient, automatisch und kontinuierlich Schwachstellen in Webanwendungen zu entdecken, die auf bestimmten Frameworks basieren, mit sehr geringen Fehlalarmen. Derzeit ist es für die Unterstützung des Cake PHP Frameworks implementiert.
Wenn Sie mehr über den Forschungsprozess erfahren möchten, lesen Sie diese Artikelserie: CakePHP Application Cybersecurity Research
Nachfolgend eine Liste einiger Bugs, die von Cake Fuzzer entdeckt wurden:
| Titel | Schweregrad | Link |
|---|---|---|
| Blinde SQL-Injection in Cerebrate | 9.8 Kritisch | https://zigrin.com/advisories/cerebrate-blind-sql-injection/ |
| SQL-Injection in CRUD-Komponente | 8.8 Hoch | https://zigrin.com/advisories/misp-sql-injection-in-crud-component/ |
| DOM-basiertes XSS | 6.1 Mittel | https://zigrin.com/advisories/misp-dom-based-xss/ |
| Blinde SQL-Injection im order-Parameter | 8.8 Hoch | https://zigrin.com/advisories/misp-blind-sql-injection-in-order-parameter/ |
| Blinde SQL-Injection in Array-Eingabeparametern | 8.8 Hoch | https://zigrin.com/advisories/misp-blind-sql-injection-in-array-input-parameters/ |
| Zeitbasierte SQL-Injection in /Logs/index | 7.2 Hoch | https://zigrin.com/advisories/misp-time-based-sql-injection-in-logs-index/ |
Typische Ansätze zur Erkennung von Schwachstellen mit automatisierten Tools in Webanwendungen sind:
Beide Methoden haben Nachteile. SAST führt zu einem hohen Prozentsatz an Fehlalarmen – Ergebnissen, die entweder keine Schwachstellen oder nicht ausnutzbare Schwachstellen sind. DAST verursacht weniger Fehlalarme, entdeckt aber aufgrund der begrenzten Informationen weniger Schwachstellen. Es erfordert außerdem einige Kenntnisse über die Anwendung und einen Sicherheitshintergrund der Person, die den Scan durchführt. Dies erfordert oft eine benutzerdefinierte Scan-Konfiguration pro Anwendung, damit es ordnungsgemäß funktioniert.
Das Cake Fuzzer Projekt soll die Vorteile beider Ansätze kombinieren und die oben genannten Nachteile beseitigen. Dieser Ansatz wird als Interactive Application Security Testing (IAST) bezeichnet.
Die Ziele des Projekts sind:
Hinweis: Einige Schwachstellenklassen sind nicht das Ziel von Cake Fuzzer, daher wird Cake Fuzzer sie nicht erkennen können. Beispiele für solche Klassen sind Schwachstellen in der Geschäftslogik und Zugriffskontrollprobleme.

Drawio: Cake Fuzzer Architektur
Cake Fuzzer besteht aus 3 Hauptservern (relativ unabhängig), die insgesamt dynamische Schwachstellentests von CakePHP-Anwendungen ermöglichen.
Andere Komponenten umfassen:
Cake Fuzzer basiert auf dem Konzept des Interactive Application Security Testing (IAST). Es enthält eine vordefinierte Menge von Angriffen, die vor der Ausführung zufällig modifiziert werden. Cake Fuzzer kennt die internen Abläufe der Anwendung dank des Cake PHP Frameworks, daher werden die Angriffe auf alle möglichen Einstiegspunkte der Anwendung gestartet.
Während des Angriffs überwacht Cake Fuzzer verschiedene Aspekte der Anwendung und des darunterliegenden Systems wie:
Diese Informationsquellen ermöglichen es Cake Fuzzer, mehr Schwachstellen zu identifizieren und mit höherer Sicherheit zu melden.
Der folgende Abschnitt beschreibt die Schritte zur Einrichtung einer Cake Fuzzer Entwicklungsumgebung, in der das Ziel die veraltete MISP v2.4.146 ist, die anfällig für CVE-2021-41326 ist.
Führen Sie die folgenden Befehle auf Ihrem Host-Betriebssystem aus, um eine veraltete MISP-VM herunterzuladen:
cd ~/Downloads # Oder wo immer Sie die MISP-VM speichern möchten
wget https://vm.misp-project.org/MISP_v2.4.146@0c25b72/[email protected] -O MISP.zip
unzip MISP.zip
rm MISP.zip
mv VMware/ MISP-2.4.146
Führen Sie die folgenden Aktionen in der VMWare-GUI durch, um die gemeinsame Nutzung von Cake Fuzzer-Dateien zwischen Ihrem Host-Betriebssystem und MISP vorzubereiten:
Führen Sie die folgenden Befehle auf Ihrem Host-Betriebssystem aus (ersetzen Sie MISP_IP_ADDRESS durch die zuvor notierte IP-Adresse):
ssh-copy-id misp@MISP_IP_ADDRESS
ssh misp@MISP_IP_ADDRESS