PrestaShop
Tip
Aprenda e pratique Hacking AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP:HackTricks Training GCP Red Team Expert (GRTE)
Aprenda e pratique Hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporte o HackTricks
- Confira os planos de assinatura!
- Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para o HackTricks e HackTricks Cloud repositórios do github.
From XSS to RCE
- PrestaXSRF: PrestaShop Exploitation Script que eleva XSS para RCE ou Outras Vulnerabilidades Críticas. Para mais informações veja este post. Ele fornece suporte para PrestaShop Versions 8.X.X and 1.7.X.X, e permite:
- (RCE) PSUploadModule(); - Upload a custom Module: Fazer upload de um Módulo Persistente (backdoor) para PrestaShop.
ps_checkout ExpressCheckout silent login account takeover (CVE-2025-61922)
Falta validação de identidade no módulo
ps_checkout< 5.0.5permite que um atacante não autenticado troque a sessão para qualquer cliente fornecendo o email do cliente.
- Endpoint (não autenticado):
POST /module/ps_checkout/ExpressCheckout. - Fluxo:
ExpressCheckout.phpaceita JSON do atacante, verifica apenasorderID, constróiExpressCheckoutRequeste chamaExpressCheckoutAction::execute(). - Bug de autenticação: Nas versões vulneráveis
ExpressCheckoutActionchamaCustomerAuthenticationAction::execute()quando nenhum usuário está logado. Esse método simplesmente fazcustomerExists(<payer_email>)econtext->updateCustomer(new Customer($id)), então existência do email == login (sem verificação de senha/token). - Campo de email controlado pelo atacante:
order.payer.email_addressdentro do payload JSON é lido porExpressCheckoutRequest::getPayerEmail().
Exploitation steps
- Colete qualquer email de cliente registrado (admin é separado e não é afetado por esse fluxo).
- Envie um POST não autenticado para o controller com
orderIDmais o email da vítima emorder.payer.email_address. - Mesmo se o endpoint retornar
500, a resposta incluirá cookies para o contexto do cliente da vítima (sessão já trocada), permitindo acesso a PII ou realizar compras com cartões salvos.
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"}}}
Referências
- CVE-2025-61922: Zero-Click Account Takeover no Prestashop (blog)
- Aviso do GitHub GHSA-54hq-mf6h-48xh
Tip
Aprenda e pratique Hacking AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP:HackTricks Training GCP Red Team Expert (GRTE)
Aprenda e pratique Hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporte o HackTricks
- Confira os planos de assinatura!
- Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para o HackTricks e HackTricks Cloud repositórios do github.


