
Exploit proof-of-concept per CVE-2015-9357: XSS persistente nel parser di smiley di WordPress che bypassa wp_kses, combina la falsificazione del nonce per creare account amministratore. Solo a scopo educativo.
wordpress smiley/emoticon parser stored XSS, creazione di utente amministratore tramite richiesta nonce falsificata.
esce dal contesto dell'attributo <a href> attraverso la regex delle emoticon, inserisce JS in un gestore onerror. nessun tag script necessario, supera il filtro wp_kses sul campo interessato.
catena: invia il payload a qualsiasi campo che venga convertito in emoticon, l'admin lo visualizza, l'XSS scatta nella sua sessione, estrae il nonce di creazione utente da user-new.php, pubblica un nuovo account amministratore, conferma tramite login.
solo per uso didattico/laboratorio. richiede che il campo target applichi effettivamente la conversione delle emoticon di wordpress, varia a seconda del tema/plugin.
divulgazione originale della vulnerabilità: https://blog.sucuri.net/2015/10/security-advisory-stored-xss-in-akismet-wordpress-plugin.html
python3 CVE-2015-9357.py -t https://target -l LHOST -p LPORT \
--endpoint https://target/wp-admin/admin-ajax.php \
--field message --action <ajax_action> --nonce <nonce> \
--data "name=a,[email protected],phone=a"
--endpoint / --field dipendono da dove si trova effettivamente l'input vulnerabile (commenti, modulo di contatto, ecc.), trovarlo manualmente prima.
output in caso di successo: credenziali admin (pwned / Password123!) e URL wp-admin.