
Proof-of-concept-Exploit für CVE-2022-1329, eine Remote-Codeausführungsschwachstelle in WordPress Elementor 3.6.0-3.6.2. Enthält eine Docker-basierte anfällige Umgebung und anpassbare PHP-Payload-Injektion.
Dieser POC basiert auf dem von AkuCyberSec.
Verwenden Sie docker-compose, um die anfällige Umgebung zu starten:
docker-compose up -d
Dann können Sie auf die WordPress-Admin-Seite unter der URL http://localhost:8000 zugreifen.
Registrieren Sie den Admin-Benutzer und fügen Sie einen Nicht-Admin-Benutzer im Benutzer-Tag hinzu. Zum Beispiel gibt es zwei Benutzer:
| Username | Password | Role |
|---|
| wc | 123456 | Admin |
| a2 | aaaaaa | Editor |
Melden Sie sich mit dem Admin-Konto an und installieren Sie Elementor 3.6.1 mit der bereitgestellten Zip-Datei.
Falls Sie auf das Problem mit der Upload-Größe stoßen, fügen Sie php.ini wie folgt zu /var/www/html/ hinzu und starten Sie den Docker-Server neu:
upload_max_filesize = 64M
max_execution_time = 0
post_max_size = 150M
file_uploads = on
Bearbeiten Sie das POC-Skript mit Ihren Nicht-Admin-Benutzerinformationen und führen Sie das POC-Skript aus, um die Schwachstelle auszunutzen:
python3 poc.py
HINWEIS: Das Skript kann mit einem Upload-Problem fehlschlagen, aber das ist in Ordnung. Versuchen Sie, die Admin-Seite im Browser zu aktualisieren, um zu sehen, ob es funktioniert.
Der POC führt derzeit phpinfo(); als Payload aus. Natürlich können Sie dies bearbeiten, aber Sie müssen das Plugin elementor-pro im Docker-Container manuell entfernen: /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
