
Questa poc è basata su quella di AkuCyberSec.
Usa docker-compose per avviare l'ambiente vulnerabile:
docker-compose up -d
Quindi puoi accedere alla pagina Admin di WordPress tramite l'URL http://localhost:8000.
Registra l'utente admin e aggiungi un utente non-admin nella sezione Users. Ad esempio, ci sono due utenti:
| Nome utente | Password | Ruolo |
|---|---|---|
| wc | 123456 | Admin |
| a2 | aaaaaa | Editor |
Accedi con l'account admin e installa Elementor 3.6.1 tramite lo zip fornito.
Se incontri il problema della dimensione di upload, aggiungi php.ini in /var/www/html/ come segue e riavvia il server docker:
upload_max_filesize = 64M
max_execution_time = 0
post_max_size = 150M
file_uploads = on
Modifica lo script poc con le informazioni del tuo utente non-admin ed esegui lo script poc per sfruttare la vulnerabilità:
python3 poc.py
NOTA: lo script potrebbe fallire con problema di upload, ma è OK, prova ad aggiornare la pagina admin nel browser per vedere se funziona.
La poc ora esegue phpinfo(); come payload; ovviamente puoi modificarlo, ma devi rimuovere manualmente il plugin elementor-pro nel container docker /var/www/html/wp-content/plugin/elementor-pro:
# Unzip the zip file
unzip elementor-pro.zip
# Edit the main file to put your payload, it's in the begin of the file
nano elementor-pro/elementor-pro.php
# And zip
rm elementor-pro.zip; zip -ry elementor-pro.zip elementor-pro
# exploit again
python3 poc.py
