Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
gitea-follow-existence — Gitea 계정 열거 오라클을 시연합니다: 인증된 PUT /api/v1/user/following/{username}은 숨겨진 계정에 대해 204를, 알 수 없는 이름에 대해 404를 반환하며, 루프백 랩을 포함합니다. | Kitploit
도구/GitHubGitHub/abraxas/gitea-follow-existence
ReconnaissanceVulnerability AnalysisExploitationInformation GatheringWeb SecurityPenetration TestingAPI SecurityLabs & Practice
GitHubabraxas/gitea-follow-existence

gitea-follow-existence

Gitea 계정 열거 오라클을 시연합니다: 인증된 PUT /api/v1/user/following/{username}은 숨겨진 계정에 대해 204를, 알 수 없는 이름에 대해 404를 반환하며, 루프백 랩을 포함합니다.

저장소 보기
515일 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

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
CVSSMedium: 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도 없습니다. 비인증 stargazers와 결합하면, 공개 저장소에서 숨겨진 로그인을 찾은 다음 그들이 프로필을 숨긴 후에도 여전히 존재하는지 확인할 수 있습니다.

Check와 Unfollow는 같은 그룹에 있습니다. 동일한 검사 누락입니다.

발견 방법

stargazers와 동일한 가시성 점검입니다. 핸들러가 그렇게까지 거짓말을 하려고 애쓴다면, {username}을 받는 다른 모든 라우트를 살펴봅니다. Follow는 그렇지 않습니다.

제한된 공격자 계정을 등록하고, 숨겨진 이름을 팔로우하고, 존재하지 않는 이름을 팔로우한 다음, 상태 코드를 비교했습니다. 공개 사용자는 204를 반환해야 합니다. 그것은 SUCCESS가 아닙니다. GET이 404인데 숨겨진 이름은 204, 알 수 없는 이름은 404인 것이 SUCCESS입니다.

이미 기록된 잘못된 방향: 숨겨진 이름에 대한 Follow가 404를 반환함(그렇다면 이 라우트에 가시성이 있음); 숨겨진 사용자에 대한 프로필 JSON(GetInfo는 이미 404를 반환함 - 이 버그는 상태 클래스 문제이지 덤프가 아님); 공개 사용자에 대한 Follow 204를 SUCCESS로 취급함; 리버스 셸. 연극일 뿐입니다.

랩

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

수정 방법

FollowUser 전에 Follow(그리고 Check/Unfollow)에서 IsUserVisibleToViewer를 호출하세요. 숨겨진 이름은 GetInfo가 이미 그러하듯이 동일하게 404를 반환해야 합니다.

참고 자료

  • 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를 참조하세요. 루프백 랩 전용. 보증 없음.

도구 다운로드