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

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

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

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
gitea-stargazers-hidden — 인증되지 않은 Gitea 정보 노출에 대한 개념 증명 및 실습 환경: stargazers 및 watchers API가 프로필 엔드포인트에서 숨기는 사용자 이름을 유출합니다. | Kitploit
도구/GitHubGitHub/abraxas/gitea-stargazers-hidden
ReconnaissanceVulnerability AnalysisInformation GatheringWeb SecurityPenetration TestingAPI SecurityLabs & Practice
GitHubabraxas/gitea-stargazers-hidden

gitea-stargazers-hidden

인증되지 않은 Gitea 정보 노출에 대한 개념 증명 및 실습 환경: stargazers 및 watchers API가 프로필 엔드포인트에서 숨기는 사용자 이름을 유출합니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Abraxas Labs - gitea-stargazers-hidden

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

gitea-stargazers-hidden

Gitea 1.27.3 - Gitea

제한 및 비공개 사용자는 익명 조회자에게 보이지 않아야 합니다. GetInfo는 이미 해당 사용자에게 404를 반환합니다. 팔로워 목록은 이미 SQL에서 isUserVisibleToViewerCond를 적용합니다. GetStargazers는 가시성 필터 없이 star에 대한 조인입니다. ListStargazers는 그런 다음 전부를 convert.ToUser합니다. ListSubscribers는 watcher에 대해 동일한 형태입니다.

로그인하지 않고도, 공개 저장소의 stargazers JSON은 GET /users/{name}이 숨기는 사용자 이름을 알려줍니다.

ID아직 CVE 없음
CWECWE-200
CVSSMedium: 5.3 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
ProductGitea
Affectedv1.27.3 (146cc3e)까지
Auth인증되지 않음
LicenseGNU Affero GPL v3.0
Lab127.0.0.1 전용

공격자가 할 수 있는 일

로그인하지 않고, 공개 저장소의 stargazers와 watchers를 읽고 GET /users/{name}이 숨기는 사용자 이름을 알아낼 수 있습니다. 이는 공개된 무언가에 star를 누르거나 watch한 제한 및 비공개 계정에 대한 정찰입니다: 검색에 나타나지 않도록 가시성을 설정한 후에도 어쨌든 star를 클릭한 사람들입니다.

이것은 사용자 이름이며, 이메일도, 비공개 git 읽기도, RCE도 아닙니다. Follow 204 vs 404 오라클과 결합하면, 프로필이 404를 반환하더라도 숨겨진 로그인이 존재함을 확인할 수 있습니다.

어떻게 발견했는가

가시성은 1.27.3 GHSA 물결의 주제였습니다. 제품이 의도적으로 프로필에 404를 반환할 때, 다음 질문은 어떤 목록 엔드포인트가 여전히 해당 조건 없이 user를 조인하는가입니다. Stars와 watchers가 그렇습니다.

hidstar를 limited로 심고, 공개 저장소에 star와 watch를 하고, 토큰 없이 인스턴스를 공격했습니다. Unauth GET /api/v1/users/hidstar는 404입니다. Unauth stargazers JSON에는 hidstar가 포함됩니다. Unauth watchers에는 hidstar가 포함됩니다. Unauth followers HTML에는 없습니다. 프로필은 부끄러워합니다. star 테이블은 그렇지 않습니다.

이미 기록된 잘못된 방향: unauth GET /users/hidstar가 200을 반환(그러면 가시성이 완전히 꺼진 것 - lab은 404를 요구); followers HTML에 hidstar가 나열됨(그 경로는 이미 조건을 적용); /stargazers에서 공개 이름만 있는 200을 SUCCESS로 취급; 리버스 셸. 연극. 누출은 JSON에 있는 limited 로그인입니다.

Lab

cd lab
./run.sh

오직 http://127.0.0.1:18133만 대상으로 합니다. Compose는 public,limited,private 가시성을 허용하고 stars를 켜둡니다.

unauth-user-get status=404
unauth-stargazers status=200 stargazer-names=['hidstar']
unauth-watchers leak=True
unauth-followers-web limited-in-html=False
SUCCESS GITEA-STARGAZERS-HIDDEN

수정

GetStargazers / GetRepoWatchers에 isUserVisibleToViewerCond를 적용하세요. Unauth stargazers와 watchers는 followers가 이미 하는 것과 같은 방식으로 hidstar를 생략해야 합니다.

참고

  • github.com/go-gitea/gitea 태그 v1.27.3
  • star.go 라우터 · star.go 모델 · subscriber.go · GetInfo · GetUserFollowers
  • 동일 태그: gitea-follow-existence
  • CWE-200

라이선스

GNU Affero GPL v3.0. LICENSE 참조. 루프백 lab 전용. 보증 없음.

도구 다운로드