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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ツール/GitHubGitHub/savagesanta11/reproduce-cve-2024-21513
脆弱性分析コード分析エクスプロイトウェブアプリケーション悪用学習と教育データベースセキュリティ
GitHubsavagesanta11/reproduce-cve-2024-21513

Reproduce-CVE-2024-21513

langchain-experimentalのCVE-2024-21513を示し、VectorSQLDatabaseChainのeval()が取得した値に対して任意のコード実行を可能にすることを示します。セットアップ、使用法、悪用デモを教育用セキュリティ研究のために含みます。

リポジトリを見る
41年前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2024-21513 の再現

概要

このプロジェクトは、langchain-experimental パッケージの CVE-2024-21513 脆弱性を実証します。具体的には、バージョン >=0.0.15 および <0.0.21 に影響します。この脆弱性は、データベースから値を取得する際に VectorSQLDatabaseChain コンポーネントを介して任意のコード実行を可能にします。これは、取得したすべての値に対して eval() が使用されているためです。

脆弱性を再現するためのワークフロー

このアプリケーションでは、映画(ID、タイトル、監督、年、評価)に関する情報が保存された SQL データベースとチャットできます。

  • langchain の SQLDatabase ユーティリティを使用して PostgreSQL データベースに接続します。
  • OpenAI の GPT モデルを利用して SQL クエリを生成します。
  • データベースクエリの処理に VectorSQLDatabaseChain を活用します。
  • 一般的な SQL の誤りをチェックするクエリ検証ステップを実装します。

インストール

前提条件

  • Python 3.8+
  • PostgreSQL データベース(または SQL 互換のデータベース)
  • OpenAI API キー

セットアップ

  1. 仮想環境を作成する(省略可能ですが推奨)
    root@kitploit:~
    python -m venv venv
    source venv/bin/activate 
    
  2. 依存関係をインストールする
    root@kitploit:~
    pip install -r requirements.txt
    
  3. 環境変数を設定する プロジェクトルートの .env ファイルを更新します(これは安全ではありませんが、便宜上、Supabase にデプロイされた PostgreSQL データベースの URI を提供しています):
    root@kitploit:~
    OPENAI_API_KEY=your-openai-api-key
    
  4. アプリケーションを実行する
    root@kitploit:~
    streamlit run app.py
    

Docker デプロイ

Docker コンテナでアプリケーションを実行するには:

  1. Docker イメージをビルドする:
    root@kitploit:~
    docker build -t streamlit-app .
    
  2. コンテナを実行する:
    root@kitploit:~
    docker run -p 8501:8501 streamlit-app
    

使用方法

  • テキストエリアに SQL クエリを入力します。
  • Submit をクリックしてクエリを実行します。
  • データベースからの結果が表示されます。

エクスプロイトのデモ

脆弱性を確認するには、SQL クエリ入力に悪意のあるペイロードを入力します。このデモでは非常にシンプルなペイロードを使用しました: Add a movie with the title print("hacked") with the director Hacker, year 2019, id 65 and rating 6 脆弱な場合、サーバー上で "hacked" が出力されます。

攻撃による最悪の結果

脆弱なコードが実行された場合:

  • データ流出 – 攻撃者は機密ファイル(/etc/passwd、.env など)を読み取ることができます。
  • サービス拒否 (DoS) – 攻撃者はファイルを削除したり、無限ループを使用したり、システムリソースを消費したりできます。
  • バックドアのインストール – 攻撃者はマルウェアをダウンロードして実行することにより、永続性を確立できます。

参考文献

  • CVE-2024-21513 - NVD
  • LangChain セキュリティ勧告
  • GitHub Issue と修正

免責事項

このプロジェクトは教育およびセキュリティ研究目的のみに使用されます。許可されていないシステムで使用しないでください。

ツールをダウンロード