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

Από 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_checkout module < 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().

Βήματα εκμετάλλευσης

  1. Συλλέξτε οποιοδήποτε εγγεγραμμένο email πελάτη (ο admin είναι ξεχωριστός και δεν επηρεάζεται από αυτή τη ροή).
  2. Στείλτε ένα μη-αυθεντικοποιημένο POST στον controller με το orderID και το email του θύματος στο order.payer.email_address.
  3. Ακόμα κι αν το 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"}}}

Αναφορές

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