PrestaShop
Tip
AWSハッキングを学び、実践する:
HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)
Azureハッキングを学び、実践する:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricksをサポートする
- サブスクリプションプランを確認してください!
- **💬 Discordグループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。
XSSからRCEへ
- PrestaXSRF: PrestaShop Exploitation Script that elevate XSS to RCE or Others Critical Vulnerabilities. 詳細はこの記事を参照してください。PrestaShop Versions 8.X.X and 1.7.X.X に対応しており、以下を可能にします:
- (RCE) PSUploadModule(); - Upload a custom Module: 永続的なモジュール(バックドア)を PrestaShop にアップロードします。
ps_checkout ExpressCheckout silent login account takeover (CVE-2025-61922)
ps_checkoutmodule< 5.0.5における本人確認の検証不足により、未認証の攻撃者がメールアドレスを提供することで任意の顧客にセッションを切り替えられる。
- Endpoint (unauth):
POST /module/ps_checkout/ExpressCheckout. - Flow:
ExpressCheckout.phpは攻撃者制御の JSON を受け取り、orderIDのみを確認し、ExpressCheckoutRequestを構築してExpressCheckoutAction::execute()を呼び出します。 - Auth bug: 脆弱なバージョンでは、
ExpressCheckoutActionは誰もログインしていない場合にCustomerAuthenticationAction::execute()を呼び出します。そのメソッドは単にcustomerExists(<payer_email>)を実行し、context->updateCustomer(new Customer($id))を行うだけなので、メールアドレスの存在=ログイン(パスワード/トークンの確認なし)となります。 - Attacker-controlled email field: JSON ペイロード内の
order.payer.email_addressがExpressCheckoutRequest::getPayerEmail()により読み取られます。
利用手順
- 登録済みの顧客メールアドレスを収集する(管理者は別扱いで、このフローの影響を受けません)。
- 認証なしでコントローラに POST を送り、
orderIDと被害者のメールアドレスをorder.payer.email_addressに含める。 - エンドポイントが
500を返しても、レスポンスには被害者の顧客コンテキスト用のクッキーが含まれる(セッションは既に切り替わっている)ため、PII へのアクセスや保存済みカードでの購入が可能になる。
POST /module/ps_checkout/ExpressCheckout HTTP/1.1
Host: `<target>`
Content-Type: application/json
Content-Length: 72
{"orderID":"1","order":{"payer":{"email_address":"victim@example.com"}}}
参考資料
- CVE-2025-61922: Zero-Click Account Takeover on Prestashop (blog)
- GitHub Advisory GHSA-54hq-mf6h-48xh
Tip
AWSハッキングを学び、実践する:
HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)
Azureハッキングを学び、実践する:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricksをサポートする
- サブスクリプションプランを確認してください!
- **💬 Discordグループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。


