
Cake Fuzzer est un projet conçu pour aider à découvrir automatiquement et en continu les vulnérabilités dans les applications web créées à partir de frameworks spécifiques, avec très peu de faux positifs.
Dernière version : 1.0
Licence : GNU GPL v3.0
Cake Fuzzer est un projet conçu pour aider à découvrir automatiquement et en continu les vulnérabilités des applications web créées à partir de frameworks spécifiques, avec très peu de faux positifs. Actuellement, il est implémenté pour supporter le framework Cake PHP.
Si vous souhaitez en savoir plus sur le processus de recherche, consultez cette série d'articles : Recherche en cybersécurité des applications CakePHP
Voici une liste de quelques bugs découverts par Cake Fuzzer :
| Titre | Sévérité | Lien |
|---|---|---|
| Injection SQL aveugle dans Cerebrate | 9.8 Critique | https://zigrin.com/advisories/cerebrate-blind-sql-injection/ |
| Injection SQL dans le composant CRUD | 8.8 Élevée | https://zigrin.com/advisories/misp-sql-injection-in-crud-component/ |
| XSS basé sur le DOM | 6.1 Moyenne | https://zigrin.com/advisories/misp-dom-based-xss/ |
| Injection SQL aveugle dans le paramètre order | 8.8 Élevée | https://zigrin.com/advisories/misp-blind-sql-injection-in-order-parameter/ |
| Injection SQL aveugle dans les paramètres d'entrée de type tableau | 8.8 Élevée | https://zigrin.com/advisories/misp-blind-sql-injection-in-array-input-parameters/ |
| Injection SQL basée sur le temps dans /Logs/index | 7.2 Élevée | https://zigrin.com/advisories/misp-time-based-sql-injection-in-logs-index/ |
Les approches typiques pour découvrir des vulnérabilités à l'aide d'outils automatisés dans les applications web sont :
Les deux méthodes présentent des inconvénients. Le SAST entraîne un pourcentage élevé de faux positifs – des résultats qui ne sont soit pas des vulnérabilités, soit des vulnérabilités non exploitables. Le DAST génère moins de faux positifs mais découvre moins de vulnérabilités en raison des informations limitées. Il nécessite également une certaine connaissance de l'application et des compétences en sécurité de la personne qui exécute le scan. Cela implique souvent une configuration de scan personnalisée par application pour fonctionner correctement.
Le projet Cake Fuzzer vise à combiner les avantages des deux approches et à éliminer les inconvénients mentionnés ci-dessus. Cette approche est appelée Test de sécurité interactif des applications (IAST).
Les objectifs du projet sont :
Note : Certaines classes de vulnérabilités ne sont pas la cible de Cake Fuzzer, celui-ci ne pourra donc pas les détecter. Il s'agit par exemple des vulnérabilités de logique métier et des problèmes de contrôle d'accès.

Drawio : Architecture de Cake Fuzzer
Cake Fuzzer se compose de 3 serveurs principaux (relativement indépendants) qui, ensemble, permettent des tests de vulnérabilité dynamiques des applications CakePHP.
Les autres composants incluent :
Cake Fuzzer est basé sur le concept du Test de sécurité interactif des applications (IAST). Il contient un ensemble prédéfini d'attaques qui sont modifiées aléatoirement avant exécution. Cake Fuzzer connaît les détails internes de l'application grâce au framework Cake PHP, donc les attaques seront lancées sur tous les points d'entrée possibles de l'application.
Pendant l'attaque, Cake Fuzzer surveille divers aspects de l'application et du système sous-jacent, tels que :
Ces sources d'informations permettent à Cake Fuzzer d'identifier plus de vulnérabilités et de les signaler avec une plus grande certitude.
La section suivante décrit les étapes pour configurer un environnement de développement Cake Fuzzer où la cible est une version obsolète de MISP v2.4.146, vulnérable à CVE-2021-41326.
Exécutez les commandes suivantes sur votre système d'exploitation hôte pour télécharger une VM MISP obsolète :
cd ~/Downloads # Ou l'endroit où vous souhaitez stocker la VM MISP
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
Effectuez les actions suivantes dans l'interface graphique de VMWare pour préparer le partage des fichiers Cake Fuzzer entre votre système d'exploitation hôte et MISP :
Exécutez les commandes suivantes sur votre système hôte (remplacez MISP_IP_ADDRESS par l'adresse IP notée précédemment) :
ssh-copy-id misp@MISP_IP_ADDRESS
ssh misp@MISP_IP_ADDRESS