Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
gitea-follow-existence — Demuestra un oráculo de enumeración de cuentas de Gitea: la petición autenticada PUT /api/v1/user/following/{username} devuelve 204 para cuentas ocultas y 404 para nombres desconocidos, con un laboratorio de loopback. | Kitploit
Herramientas/GitHubGitHub/abraxas/gitea-follow-existence
ReconocimientoAnálisis de VulnerabilidadesExplotaciónRecopilación de InformaciónSeguridad WebPruebas de PenetraciónSeguridad de APIsLabs y Práctica

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
GitHub
abraxas/gitea-follow-existence

gitea-follow-existence

Demuestra un oráculo de enumeración de cuentas de Gitea: la petición autenticada PUT /api/v1/user/following/{username} devuelve 204 para cuentas ocultas y 404 para nombres desconocidos, con un laboratorio de loopback.

Ver Repositorio
23hace 15 díasAún no revisado
Compartir

Abraxas Labs - gitea-follow-existence

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

Análisis: https://abraxaslabs.tech/research/gitea-follow-existence

gitea-follow-existence

Gitea 1.27.3 - Gitea

GetInfo ya devuelve 404 para usuarios ocultos y miente sobre el motivo: fake ErrUserNotExist error message to not leak information about existence. PUT /user/following/{username} carga el objetivo con UserAssignmentAPI() y llama a Follow. Sin IsUserVisibleToViewer. Nombre inexistente: 404 user redirect does not exist. Nombre oculto que existe: 204.

204 significa que la cuenta existe. 404 significa que has adivinado un nombre que no está ahí. El JSON del perfil permanece cerrado.

IDaún sin CVE
CWECWE-203
CVSSMedio: 4.3 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
ProductoGitea
Afectadoshasta v1.27.3 (146cc3e)
Autenticacióncuenta con sesión iniciada
LicenciaGNU Affero GPL v3.0
Laboratoriosolo 127.0.0.1

Qué puede hacer un atacante

Iniciar sesión (el registro abierto por defecto es barato). Demostrar que una cuenta oculta o limitada existe incluso cuando la API de perfil devuelve 404. Sin volcado de perfil. Sin git privado. Combinado con stargazers sin autenticación, puedes encontrar un login oculto en un repositorio público y luego confirmar que sigue existiendo después de que oculten el perfil.

Check y Unfollow están en el mismo grupo. Misma comprobación ausente.

Cómo lo encontré

El mismo repaso de visibilidad que en stargazers. Cuando un handler se esfuerza tanto en mentir, miras todas las demás rutas que aceptan {username}. Follow no lo hace.

Registré un atacante restringido, seguí el nombre oculto, seguí un nombre que no existe y comparé los códigos de estado. Se supone que los usuarios públicos devuelven 204. Eso no es SUCCESS. Oculto 204 frente a desconocido 404 mientras GET devuelve 404 es SUCCESS.

Pistas falsas ya registradas: Follow sobre un oculto devolviendo 404 (entonces la visibilidad sí está en esta ruta); el JSON del perfil para el usuario oculto (GetInfo ya devuelve 404 - este fallo es de clase de estado, no un volcado); tratar el 204 de Follow sobre un usuario público como SUCCESS; una reverse shell. Teatro.

Laboratorio

cd lab
./run.sh

Dirígete solo a http://127.0.0.1:18134. Compose permite la visibilidad 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

La solución

Llamar a IsUserVisibleToViewer en Follow (y en Check/Unfollow) antes de FollowUser. Los nombres ocultos deben devolver 404 de la misma forma en que ya lo hace GetInfo.

Referencias

  • github.com/go-gitea/gitea etiqueta v1.27.3
  • follower.go · grupo following de api.go · GetInfo
  • Misma etiqueta: gitea-stargazers-hidden
  • CWE-203

Licencia

GNU Affero GPL v3.0. Véase LICENSE. Solo para laboratorio en loopback. Sin garantía.

Descargar herramienta