
Gitea खाता-गणना ओरेकल को प्रदर्शित करता है: प्रमाणित PUT /api/v1/user/following/{username} छिपे हुए खातों के लिए 204 और अज्ञात नामों के लिए 404 लौटाता है, साथ में एक लूपबैक लैब।
abraxaslabs.tech · github.com/abraxas · @abraxas_null · [email protected] · 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 नहीं |
| CWE | CWE-203 |
| CVSS | Medium: 4.3 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N |
| Product | Gitea |
| Affected | v1.27.3 (146cc3e) तक |
| Auth | साइन-इन किया हुआ खाता |
| License | GNU Affero GPL v3.0 |
| Lab | केवल 127.0.0.1 |
साइन इन करें (डिफ़ॉल्ट खुला पंजीकरण सस्ता है)। सिद्ध करें कि छिपा हुआ या सीमित खाता मौजूद है, भले ही प्रोफ़ाइल API 404 दे। कोई प्रोफ़ाइल डंप नहीं। कोई निजी git नहीं। unauth stargazers के साथ मिलाकर, आप एक सार्वजनिक रेपो पर छिपा हुआ लॉगिन ढूंढ सकते हैं और फिर पुष्टि कर सकते हैं कि प्रोफ़ाइल छिपाने के बाद भी वह मौजूद है।
Check और Unfollow एक ही समूह पर हैं। वही अनुपस्थित जाँच।
stargazers के समान visibility पास। जब कोई हैंडलर झूठ बोलने में इतनी मेहनत करता है, तो आप हर उस रूट को देखते हैं जो {username} लेता है। Follow नहीं लेता।
मैंने एक प्रतिबंधित हमलावर को पंजीकृत किया, छिपे हुए नाम को फॉलो किया, एक ऐसे नाम को फॉलो किया जो मौजूद नहीं है, और स्टेटस कोड की तुलना की। सार्वजनिक उपयोगकर्ताओं को 204 देना चाहिए। यह SUCCESS नहीं है। छिपा हुआ 204 बनाम अज्ञात 404 जबकि GET 404 है, SUCCESS है।
पहले से दर्ज गलत मोड़: Follow hidden 404 लौटा रहा है (तो visibility इस रूट पर है); छिपे हुए उपयोगकर्ता के लिए प्रोफ़ाइल JSON (GetInfo पहले से ही 404 देता है - यह बग स्टेटस क्लास है, डंप नहीं); सार्वजनिक उपयोगकर्ता पर Follow 204 को SUCCESS मानना; एक रिवर्स शेल। नाटक।
cd lab
./run.sh
लक्ष्य केवल http://127.0.0.1:18134। Compose public,limited,private visibility की अनुमति देता है।
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
FollowUser से पहले Follow (और Check/Unfollow) में IsUserVisibleToViewer को कॉल करें। छिपे हुए नामों को उसी तरह 404 देना चाहिए जैसे GetInfo पहले से करता है।
follower.go · api.go following group · GetInfoGNU Affero GPL v3.0। देखें LICENSE। केवल लूपबैक लैब। कोई वारंटी नहीं।