PrestaShop
Tip
Lernen & üben Sie AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Lernen & üben Sie Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.
Von XSS zu RCE
- PrestaXSRF: PrestaShop Exploitation Script that elevate XSS to RCE or Others Critical Vulnerabilities. For more info check this post. It provides support for PrestaShop Versions 8.X.X and 1.7.X.X, and allows to:
- (RCE) PSUploadModule(); - Upload a custom Module: Ein persistentes Modul (Backdoor) in PrestaShop hochladen.
ps_checkout ExpressCheckout stille Login-Übernahme eines Accounts (CVE-2025-61922)
Fehlende Identitätsvalidierung im
ps_checkoutModul< 5.0.5erlaubt einem nicht authentifizierten Angreifer, die Session auf jeden Kunden umzuschalten, indem er deren E-Mail angibt.
- Endpoint (unauth):
POST /module/ps_checkout/ExpressCheckout. - Flow:
ExpressCheckout.phpakzeptiert vom Angreifer geliefertes JSON, prüft nurorderID, erstelltExpressCheckoutRequestund ruftExpressCheckoutAction::execute()auf. - Auth bug: In verwundbaren Versionen ruft
ExpressCheckoutActionCustomerAuthenticationAction::execute()auf, wenn kein Benutzer eingeloggt ist. Diese Methode macht einfachcustomerExists(<payer_email>)undcontext->updateCustomer(new Customer($id)), also E-Mail-Existenz == Login (keine Passwort-/Token-Prüfung). - Vom Angreifer kontrolliertes E-Mail-Feld:
order.payer.email_addressim JSON-Payload wird vonExpressCheckoutRequest::getPayerEmail()gelesen.
Exploitation steps
- Sammle eine registrierte Kunden-E-Mail (Admin ist separat und von diesem Ablauf nicht betroffen).
- Sende einen nicht authentifizierten POST an den Controller mit
orderIDsowie der Opfer-E-Mail inorder.payer.email_address. - Selbst wenn der Endpoint
500zurückgibt, enthält die Antwort Cookies für den Kundenkontext des Opfers (Session bereits gewechselt), wodurch Zugriff auf PII oder Einkäufe mit gespeicherten Karten möglich sind.
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"}}}
Referenzen
- CVE-2025-61922: Zero-Click Account Takeover on Prestashop (blog)
- GitHub Advisory GHSA-54hq-mf6h-48xh
Tip
Lernen & üben Sie AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Lernen & üben Sie Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.


