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

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.5 permite 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.php aceita JSON do atacante, verifica apenas orderID, constrói ExpressCheckoutRequest e chama ExpressCheckoutAction::execute().
  • Bug de autenticação: Nas versões vulneráveis ExpressCheckoutAction chama CustomerAuthenticationAction::execute() quando nenhum usuário está logado. Esse método simplesmente faz customerExists(<payer_email>) e context->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_address dentro do payload JSON é lido por ExpressCheckoutRequest::getPayerEmail().

Exploitation steps

  1. Colete qualquer email de cliente registrado (admin é separado e não é afetado por esse fluxo).
  2. Envie um POST não autenticado para o controller com orderID mais o email da vítima em order.payer.email_address.
  3. 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

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