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.

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

Abraxas Labs - gitea-follow-existence

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  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 الملف الشخصي مغلقًا.

IDلا يوجد 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 فقط

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

تسجيل الدخول (التسجيل المفتوح الافتراضي رخيص). إثبات أن حسابًا مخفيًا أو محدودًا موجود حتى عندما يُرجع API الملف الشخصي 404. لا استخراج للملف الشخصي. لا git خاص. بالاقتران مع unauth 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 tag v1.27.3
  • follower.go · api.go following group · GetInfo
  • نفس tag: gitea-stargazers-hidden
  • CWE-203

الترخيص

GNU Affero GPL v3.0. انظر LICENSE. مختبر loopback فقط. لا ضمان.

تنزيل الأداة