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
偵察脆弱性分析エクスプロイト情報収集ウェブセキュリティペネトレーションテストAPIセキュリティラボと実践
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 は閉じたままである。

IDCVE 未割当
CWECWE-203
CVSSMedium: 4.3 CVSS:3.1/AV:N/AC:L/PR:L/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 のみ

攻撃者ができること

サインインする(デフォルトのオープン登録は低コスト)。プロフィール 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 group · GetInfo
  • 同じタグ: gitea-stargazers-hidden
  • CWE-203

ライセンス

GNU Affero GPL v3.0。LICENSE を参照。ループバックラボのみ。保証なし。

ツールをダウンロード