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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
gitea-follow-existence — يوضح أداة استعلام تعداد حسابات Gitea: طلب PUT /api/v1/user/following/{username} الموثق يعيد 204 للحسابات المخفية و404 للأسماء غير المعروفة، مع مختبر loopback. | Kitploit
أدوات/GitHubGitHub/abraxas/gitea-follow-existence
الاستطلاعتحليل الثغرات الأمنيةالاستغلالجمع المعلوماتأمن الويباختبار الاختراقأمن واجهات برمجة التطبيقاتمختبرات وتدريب عملي

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
GitHub
abraxas/gitea-follow-existence

gitea-follow-existence

يوضح أداة استعلام تعداد حسابات Gitea: طلب PUT /api/v1/user/following/{username} الموثق يعيد 204 للحسابات المخفية و404 للأسماء غير المعروفة، مع مختبر loopback.

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

Abraxas Labs - gitea-follow-existence

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  gitea-follow-existence

المقال: https://abraxaslabs.tech/research/gitea-follow-existence

gitea-follow-existence

Gitea 1.27.3 - Gitea

GetInfo يُرجع بالفعل 404 للمستخدمين المخفيين ويكذب بشأن السبب: fake ErrUserNotExist error message to not leak information about existence. يقوم PUT /user/following/{username} بتحميل الهدف عبر UserAssignmentAPI() ويستدعي Follow. لا يوجد IsUserVisibleToViewer. اسم غير موجود: 404 user redirect does not exist. اسم مخفي موجود: 204.

204 يعني أن الحساب موجود. 404 يعني أنك خمّنت اسمًا غير موجود. يبقى JSON الملف الشخصي مغلقًا.

المعرّفلا يوجد CVE بعد
CWECWE-203
CVSSمتوسط: 4.3 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
المنتجGitea
المتأثرحتى v1.27.3 (146cc3e)
المصادقةحساب مسجّل الدخول
الترخيصGNU Affero GPL v3.0
المختبر127.0.0.1 فقط

ما يمكن للمهاجم فعله

تسجيل الدخول (التسجيل المفتوح الافتراضي رخيص). إثبات أن حسابًا مخفيًا أو محدودًا موجود حتى عندما يُرجع واجهة برمجة الملف الشخصي 404. لا استخراج للملف الشخصي. لا git خاص. بالاقتران مع stargazers غير المصادق، يمكنك العثور على تسجيل دخول مخفي على مستودع عام ثم تأكيد أنه لا يزال موجودًا بعد أن يخفوا الملف الشخصي.

تقع Check وUnfollow في نفس المجموعة. نفس الفحص المفقود.

كيف وجدته

نفس تمريرة الرؤية الخاصة بـ stargazers. عندما يعمل معالج بهذا الجهد للكذب، تنظر إلى كل مسار آخر يأخذ {username}. Follow لا يفعل ذلك.

سجّلت مهاجمًا مقيّدًا، وتابعت الاسم المخفي، وتابعت اسمًا غير موجود، وقارنت رموز الحالة. من المفترض أن يُرجع المستخدمون العامون 204. هذا ليس SUCCESS. مخفي 204 مقابل غير معروف 404 بينما GET يُرجع 404 هو SUCCESS.

الانحرافات الخاطئة المسجّلة بالفعل: إرجاع Follow للمخفي 404 (حينها تكون الرؤية على هذا المسار)؛ JSON الملف الشخصي للمستخدم المخفي (GetInfo يُرجع بالفعل 404 - هذا الخطأ هو فئة الحالة، وليس استخراجًا)؛ اعتبار Follow 204 على مستخدم عام SUCCESS؛ reverse shell. مسرح.

المختبر

cd lab
./run.sh

استهدف فقط http://127.0.0.1:18134. يسمح Compose بالظهور public,limited,private.

get-hidden status=404
follow-hidden status=204
follow-unknown status=404 user redirect does not exist
oracle hidden=204 unknown=404
SUCCESS GITEA-FOLLOW-ORACLE

الإصلاح

استدعِ IsUserVisibleToViewer في Follow (وCheck/Unfollow) قبل FollowUser. يجب أن تُرجع الأسماء المخفية خطأ 404 بالطريقة نفسها التي يفعلها GetInfo بالفعل.

المراجع

  • github.com/go-gitea/gitea وسم v1.27.3
  • follower.go · مجموعة api.go التابعة لـ following · GetInfo
  • الوسم نفسه: gitea-stargazers-hidden
  • CWE-203

الترخيص

GNU Affero GPL v3.0. راجع LICENSE. للاستخدام في مختبر loopback فقط. دون أي ضمان.

تنزيل الأداة