Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
gitea-follow-existence — Démontre un oracle d'énumération de comptes Gitea : la requête authentifiée PUT /api/v1/user/following/{username} renvoie 204 pour les comptes masqués et 404 pour les noms inconnus, avec un lab en boucle locale. | Kitploit
Outils/GitHubGitHub/abraxas/gitea-follow-existence
ReconnaissanceAnalyse des VulnérabilitésExploitationCollecte d'InformationsSécurité WebTests d'IntrusionSécurité des APILabs et Pratique

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
GitHub
abraxas/gitea-follow-existence

gitea-follow-existence

Démontre un oracle d'énumération de comptes Gitea : la requête authentifiée PUT /api/v1/user/following/{username} renvoie 204 pour les comptes masqués et 404 pour les noms inconnus, avec un lab en boucle locale.

Voir le dépôt
5il y a 15 joursPas encore vérifié
Partager

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 renvoie déjà un 404 pour les utilisateurs masqués et ment sur la raison : fake ErrUserNotExist error message to not leak information about existence. PUT /user/following/{username} charge la cible avec UserAssignmentAPI() et appelle Follow. Pas de IsUserVisibleToViewer. Nom inexistant : 404 user redirect does not exist. Nom masqué qui existe : 204.

204 signifie que le compte existe. 404 signifie que vous avez deviné un nom qui n'est pas là. Le JSON du profil reste fermé.

IDpas encore de CVE
CWECWE-203
CVSSMoyen : 4.3 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
ProduitGitea
Affectéjusqu'à v1.27.3 (146cc3e)
Authcompte connecté
LicenceGNU Affero GPL v3.0
Lab127.0.0.1 uniquement

Ce qu'un attaquant peut faire

Se connecter (l'inscription ouverte par défaut est peu coûteuse). Prouver qu'un compte masqué ou limité existe même lorsque l'API de profil renvoie un 404. Pas de dump de profil. Pas de git privé. Combiné avec unauth stargazers, vous pouvez trouver un identifiant masqué sur un dépôt public puis confirmer qu'il existe toujours après que le profil a été masqué.

Check et Unfollow se trouvent sur le même groupe. Même vérification manquante.

Comment je l'ai trouvé

Même passe de visibilité que stargazers. Quand un handler se donne autant de mal pour mentir, on regarde toutes les autres routes qui prennent {username}. Follow ne le fait pas.

J'ai enregistré un attaquant restreint, suivi le nom masqué, suivi un nom qui n'existe pas, et comparé les codes de statut. Les utilisateurs publics sont censés renvoyer 204. Ce n'est pas SUCCESS. Masqué 204 vs inconnu 404 alors que GET est 404, c'est SUCCESS.

Fausses pistes déjà consignées : Follow masqué renvoyant 404 (alors la visibilité est sur cette route) ; le JSON du profil pour l'utilisateur masqué (GetInfo renvoie déjà 404 - ce bug est une classe de statut, pas un dump) ; traiter Follow 204 sur un utilisateur public comme SUCCESS ; un reverse shell. Du théâtre.

Lab

cd lab
./run.sh

Cible uniquement http://127.0.0.1:18134. Compose autorise la visibilité 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

Le correctif

Appeler IsUserVisibleToViewer dans Follow (et Check/Unfollow) avant FollowUser. Les noms masqués doivent renvoyer 404 de la même manière que GetInfo le fait déjà.

Références

  • github.com/go-gitea/gitea tag v1.27.3
  • follower.go · api.go following group · GetInfo
  • Même tag : gitea-stargazers-hidden
  • CWE-203

Licence

GNU Affero GPL v3.0. Voir LICENSE. Lab en loopback uniquement. Aucune garantie.

Télécharger l’outil