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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2023-25157 — ローカルなGeoServer/PostGISラボで、脆弱、パッチ適用済み、および緩和策適用済みのA/Bテストモードを備え、OGC Filter SQLインジェクション(CVE-2023-25157/25158)を再現します。 | Kitploit
ツール/GitHubGitHub/ivanesk315/cve-2023-25157
脆弱性スキャナー脆弱性分析エクスプロイトウェブアプリケーション悪用ウェブセキュリティペネトレーションテスト学習と教育データベースセキュリティラボと実践
GitHubivanesk315/cve-2023-25157

CVE-2023-25157

ローカルなGeoServer/PostGISラボで、脆弱、パッチ適用済み、および緩和策適用済みのA/Bテストモードを備え、OGC Filter SQLインジェクション(CVE-2023-25157/25158)を再現します。

12時間21分前未レビュー
リポジトリを見る

人気

すべて見る →

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

すべてのツールを探索

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

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

Lab CVE-2023-25157 と CVE-2023-25158

この Lab は GeoServer/PostGIS を使用して、ローカル環境で OGC Filter SQL injection を研究するためのもので、operator/setup モードと attacker モードが明確に分離されています。

  • CVE-2023-25157: GeoServer 製品の表面、WFS/WMS リクエストが JDBC filter encoding に入り込む。
  • CVE-2023-25158: 根本原因は GeoTools JDBC ライブラリにあり、GeoServer がこれを組み込んで OGC filter を SQL に変換する。

GeoServer 2.22.0 は脆弱な GeoTools を組み込んでいる。GeoServer 2.22.2 はパッチ済みの GeoTools を組み込んでいる。Lab は同じ schema/request を維持し、バージョン、緩和策、権限境界の A/B テストを可能にする。

アーキテクチャ

ModeSurface目的
Setup/operator RESTcve-operator internal containerREST セットアップ、検証、バックエンドログの確認
Single gateway127.0.0.1:8889operator UI と各 OWS ルートのための単一ポート
Operator Web UI127.0.0.1:8889/geoserver/web/運用者向け GeoServer UI、Basic Auth プロキシあり
Attacker vulnerable127.0.0.1:8889/vuln/geoserver/ows脆弱な WFS/OWS、DB エラーがレスポンスに表示される
Attacker patched127.0.0.1:8889/patched/geoserver/owsGeoServer 2.22.2 / GeoTools 28.2
Attacker realistic127.0.0.1:8889/realistic/geoserver/ows脆弱な WFS/OWS だが gateway がエラー詳細を除去
Mitigation function127.0.0.1:8889/mit-functions/geoserver/owsGeoServer 2.22.0、encode functions=false
Mitigation FeatureId127.0.0.1:8889/mit-featureid/geoserver/owsGeoServer 2.22.0、preparedStatements=true

PostgreSQL/PostGIS はホストにポートを公開しない。GeoServer はポート 8080 をホストに直接公開しない。ホストからは 127.0.0.1:8889 上の cve-gateway のみが見える。cve-attacker コンテナは attacker-net にのみ存在し、PostgreSQL や GeoServer の内部サービスへのルートを持たない。REST セットアップは geoserver-net 上の内部コンテナ cve-operator を経由する。

Web UI operator

ブラウザで開く:

root@kitploit:~
http://127.0.0.1:8889/geoserver/web/

2 層のログイン:

  1. Proxy operator Basic Auth: operator / operator_lab
  2. GeoServer UI: admin / geoserver

すべてが同じ gateway 8889 を経由するため、多くのポートを覚える必要はない。Burp はデフォルトプロキシ 127.0.0.1:8080 を維持できる。

Lab の実行

root@kitploit:~
.\lab.ps1 reset all
.\lab.ps1 validate
powershell -ExecutionPolicy Bypass -File .\verify-lab.ps1
powershell -ExecutionPolicy Bypass -File .\negative-controls.ps1
powershell -ExecutionPolicy Bypass -File .\attack-chain.ps1

管理コマンド:

root@kitploit:~
.\lab.ps1 start vulnerable
.\lab.ps1 start patched
.\lab.ps1 start mitigated
.\lab.ps1 start worstcase
.\lab.ps1 reset all
.\lab.ps1 stop
.\lab.ps1 status

Data と role

シードテーブル:

  • cities: integer primary key、name text カラム、strStartsWith/strEndsWith に使用。
  • sensors_text: text primary key、FeatureId injection に使用。
  • sensors_int: integer primary key、FeatureId の negative control。
  • events: JSONB research layer。
  • internal_assets: 非公開、リセットごとに新しい LAB-CANARY-<UUID> を格納。
  • local_points: 非 JDBC の shapefile negative control。

Role:

  • geoserver_readonly: CONNECT、USAGE schema、公開テーブルのみ SELECT。
  • geoserver_impact: アプリ DB ユーザの過剰権限を実証するため internal_assets への SELECT を追加。
  • geoserver_worstcase: 専用プロファイル、pg_read_server_files を持ち、偽の canary ファイル /lab/flag.txt を読み取る。

Attack-chain のフロー

attack-chain.ps1 は以下を実行する:

  1. WFS GetCapabilities の偵察。
  2. DescribeFeatureType による schema 列挙。
  3. Baseline および negative リクエスト。
  4. realistic proxy 上での Boolean TRUE/FALSE oracle。
  5. vulnerable、patched、encode functions=false による CVE-2023-25157 の確認。
  6. vulnerable、patched、preparedStatements=true による CVE-2023-25158 の確認。
  7. Negative controls: integer PK と非 JDBC shapefile。
  8. impact ブランチ経由で DB ユーザの漏洩と隠しテーブルの発見。
  9. least-privilege が internal_assets を遮断すること、impact ブランチが canary を漏洩すること、patched/realistic が canary を開示しないことの証明。

Evidence は evidence/attack-chain-* に保存される。現在のフォルダは散らかるのを避けるため、最新の pass evidence のみを保持する。

Worst-case profile

このプロファイルはメインシナリオには含まれない:

root@kitploit:~
.\lab.ps1 start worstcase
powershell -ExecutionPolicy Bypass -File .\worstcase-demo.ps1

これは偽の canary ファイル /lab/flag.txt のみを読み取り、/etc/passwd は読まず、ハッシュのダンプもパスワードクラックも行わない。

公式ソース

  • GeoServer advisory: https://github.com/geoserver/geoserver/security/advisories/GHSA-7g5f-wrx8-5ccf
  • GeoTools advisory: https://github.com/geotools/geotools/security/advisories/GHSA-99c3-qc2q-p94m
  • GeoServer statement: https://geoserver.org/vulnerability/2023/02/20/ogc-filter-injection.html
  • NVD CVE-2023-25157: https://nvd.nist.gov/vuln/detail/CVE-2023-25157
  • NVD CVE-2023-25158: https://nvd.nist.gov/vuln/detail/CVE-2023-25158
ツールをダウンロード