
Proof-of-Concept-Exploit für CVE-2015-9357: gespeichertes XSS im WordPress-Smiley-Parser, das wp_kses umgeht, verknüpft Nonce-Fälschung zur Erstellung von Admin-Konten. Nur für Bildungszwecke.
Stored XSS im WordPress-Smiley-/Emoticon-Parser, Admin-Benutzererstellung über gefälschte Nonce-Anfrage.
Bricht aus dem <a href>-Attributkontext über den Emoticon-Regex aus, platziert JavaScript in einem onerror-Handler. Kein Script-Tag nötig, übersteht die wp_kses-Filterung im betroffenen Feld.
Kette: Payload in ein beliebiges Feld übermitteln, das Smiley-konvertiert wird, Admin sieht ihn an, XSS feuert in dessen Session, holt die Create-User-Nonce aus user-new.php, erstellt ein neues Administrator-Konto, per Login bestätigen.
Nur für Labor-/Bildungszwecke. Erfordert, dass das Zielfeld tatsächlich die WordPress-Smiley-Konvertierung anwendet, variiert je nach Theme/Plugin.
Ursprüngliche Offenlegung der Schwachstelle: 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 / hängen davon ab, wo die angreifbare Eingabe tatsächlich lebt (Kommentare, Kontaktformular usw.); finde es zuerst manuell heraus.
--fieldBei Erfolg Ausgabe: Admin-Zugangsdaten (pwned / Password123!) und wp-admin-URL.