PrestaShop
Tip
Impara e pratica il hacking AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP:HackTricks Training GCP Red Team Expert (GRTE)
Impara e pratica il hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos github.
From XSS to RCE
- PrestaXSRF: PrestaShop Exploitation Script che eleva XSS a RCE o altre vulnerabilità critiche. Per maggiori informazioni controlla this post. Fornisce supporto per le versioni PrestaShop 8.X.X e 1.7.X.X, e permette di:
- (RCE) PSUploadModule(); - Upload a custom Module: Caricare un modulo persistente (backdoor) in PrestaShop.
ps_checkout ExpressCheckout silent login account takeover (CVE-2025-61922)
Mancata validazione dell’identità nel modulo
ps_checkout< 5.0.5che permette a un attacker non autenticato di switchare la sessione a qualsiasi customer fornendo la loro email.
- Endpoint (non autenticato):
POST /module/ps_checkout/ExpressCheckout. - Flow:
ExpressCheckout.phpaccetta JSON controllato dall’attacker, verifica soloorderID, costruisceExpressCheckoutRequeste chiamaExpressCheckoutAction::execute(). - Bug di auth: Nelle versioni vulnerabili
ExpressCheckoutActionchiamaCustomerAuthenticationAction::execute()quando nessun utente è loggato. Quel metodo semplicemente eseguecustomerExists(<payer_email>)econtext->updateCustomer(new Customer($id)), quindi l’esistenza dell’email == login (nessun controllo di password/token). - Campo email controllato dall’attacker:
order.payer.email_addressall’interno del payload JSON è letto daExpressCheckoutRequest::getPayerEmail().
Exploitation steps
- Raccogliere qualsiasi email di customer registrato (l’admin è separato e non è influenzato da questo flusso).
- Inviare un POST non autenticato al controller con
orderIDe l’email della vittima inorder.payer.email_address. - Anche se l’endpoint restituisce
500, la risposta includerà cookie per il context del customer vittima (sessione già switchata), permettendo l’accesso a PII o l’acquisto con carte salvate.
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"}}}
Riferimenti
Tip
Impara e pratica il hacking AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP:HackTricks Training GCP Red Team Expert (GRTE)
Impara e pratica il hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos github.


