PrestaShop
Tip
Μάθετε & εξασκηθείτε στο AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Υποστηρίξτε το HackTricks
- Ελέγξτε τα σχέδια συνδρομής!
- Εγγραφείτε στην 💬 ομάδα Discord ή στην ομάδα telegram ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα HackTricks και HackTricks Cloud github repos.
Από XSS σε RCE
- PrestaXSRF: PrestaShop Exploitation Script που αναβαθμίζει XSS σε RCE ή άλλες κρίσιμες ευπάθειες. Για περισσότερες πληροφορίες δείτε this post. Παρέχει υποστήριξη για PrestaShop εκδόσεις 8.X.X και 1.7.X.X, και επιτρέπει:
- (RCE) PSUploadModule(); - Upload a custom Module: Ανεβάζει ένα Persistent Module (backdoor) στο PrestaShop.
ps_checkout ExpressCheckout σιωπηλή ανάληψη λογαριασμού (CVE-2025-61922)
Η έλλειψη επαλήθευσης ταυτότητας στο
ps_checkoutmodule< 5.0.5επιτρέπει σε έναν μη-αυθεντικοποιημένο επιτιθέμενο να αλλάξει τη συνεδρία σε οποιονδήποτε πελάτη παρέχοντας το email του.
- Endpoint (unauth):
POST /module/ps_checkout/ExpressCheckout. - Flow:
ExpressCheckout.phpδέχεται attacker JSON, ελέγχει μόνοorderID, κατασκευάζειExpressCheckoutRequestκαι καλείExpressCheckoutAction::execute(). - Auth bug: Σε ευάλωτες εκδόσεις
ExpressCheckoutActionκαλείCustomerAuthenticationAction::execute()όταν κανένας χρήστης δεν είναι συνδεδεμένος. Η μέθοδος απλά κάνειcustomerExists(<payer_email>)καιcontext->updateCustomer(new Customer($id)), οπότε email existence == login (χωρίς έλεγχο password/token). - Attacker-controlled email field:
order.payer.email_addressμέσα στο JSON payload διαβάζεται απόExpressCheckoutRequest::getPayerEmail().
Βήματα εκμετάλλευσης
- Συλλέξτε οποιοδήποτε εγγεγραμμένο email πελάτη (ο admin είναι ξεχωριστός και δεν επηρεάζεται από αυτή τη ροή).
- Στείλτε ένα μη-αυθεντικοποιημένο POST στον controller με το
orderIDκαι το email του θύματος στοorder.payer.email_address. - Ακόμα κι αν το endpoint επιστρέψει
500, η απάντηση θα περιέχει cookies για το customer context του θύματος (η συνεδρία έχει ήδη αλλάξει), επιτρέποντας πρόσβαση σε 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 Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Υποστηρίξτε το HackTricks
- Ελέγξτε τα σχέδια συνδρομής!
- Εγγραφείτε στην 💬 ομάδα Discord ή στην ομάδα telegram ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα HackTricks και HackTricks Cloud github repos.


