Threats and Attacks

Che cos'è XSS (Cross-Site Scripting)?

Cross-Site Scripting, o XSS, è una vulnerabilità di sicurezza nei siti web che consente agli aggressori di aggiungere script dannosi alle pagine web. La maggior parte delle volte, questi script sono scritti in JavaScript.

Che cos’è l’XSS (Cross-Site Scripting)?

Cross-Site Scripting, o XSS, è una vulnerabilità di sicurezza nei siti web che consente agli attaccanti di aggiungere script dannosi alle pagine web. La maggior parte delle volte, questi script sono scritti in JavaScript.

Se qualcuno visita una pagina colpita da XSS, il suo browser esegue lo script dell’attaccante. Questo può portare al furto di cookie, al dirottamento delle sessioni o ad azioni eseguite senza il permesso dell’utente.

L’XSS, come l’SQL Injection, è regolarmente elencato nel OWASP Top 10 come una delle vulnerabilità più comuni delle applicazioni web.

plexicus-xss-attack-ilustration

Come funziona l’XSS?

L’XSS spesso prende di mira applicazioni web che non controllano e puliscono correttamente l’input dell’utente.

Ad esempio, se una casella di commento consente HTML o JavaScript grezzo senza alcun filtro, un attaccante potrebbe aggiungere codice come questo:

<script>alert('Hacked!');</script>

Quando le vittime visualizzano la pagina, il codice dannoso viene eseguito all’interno del loro browser.

Perché l’XSS è importante nella cybersecurity

L’XSS può portare a una violazione più grande:

  • Acquisizione dell’account (furto di cookie di sessione per impersonare gli utenti)
  • Furto di dati (cattura di input di moduli come password o carte di credito)
  • Attacchi di phishing (iniezione di moduli di login falsi)
  • Distribuzione di malware (reindirizzamento degli utenti a siti web dannosi)

Tipi di XSS

  1. XSS Basato su DOM
  2. L’attacco avviene interamente nel browser manipolando il Document Object Model (DOM) senza coinvolgere il server.
  3. XSS Memorizzato
  4. Lo script malevolo è permanentemente memorizzato sul server, come nel database o nella pagina del profilo.
  5. XSS Riflesso
  6. Lo script è riflesso da un server web (ad esempio, in un URL o in un messaggio di errore), lo script verrà eseguito quando la vittima clicca sul link creato dagli attaccanti.

Come Prevenire XSS

  • Sanitizzazione degli input e codifica degli output: pulire sempre i dati di input dell’utente prima di elaborarli, trasformando l’input dell’utente in un formato sicuro
  • Usare Content Security Policy (CSP): limita quali script possono essere eseguiti nel browser.
  • Evitare eval() e JavaScript inline: per ridurre i rischi di iniezione.
  • Test di sicurezza (DAST/IAST): eseguire test di sicurezza per rilevare vulnerabilità precocemente

Esempio in un Caso Reale - Samy worm (MySpace, 2005)

Cosa è successo: Samy Kamkar ha pubblicato un profilo MySpace che conteneva un payload XSS memorizzato. Quando altri utenti visualizzavano il profilo, il payload veniva eseguito nei loro browser, (a) aggiungeva Samy come amico, (b) aggiungeva la frase “Samy è il mio eroe” ai loro profili, e (c) si replicava nelle pagine dei profili di quegli utenti.

Impatto: Il worm si è auto-propagato a ~1 milione di utenti in circa 20 ore, costringendo MySpace a rimanere offline temporaneamente.

Perché ha funzionato: MySpace permetteva HTML/attributi non scappati nei campi del profilo, consentendo l’esecuzione di script memorizzati nei browser dei visitatori.

Lezioni / correzione: Corretta codifica dell’output, sanitizzazione dell’input, rimozione di HTML nei campi del profilo e patching rapido. Samy ha successivamente affrontato conseguenze legali e MySpace ha implementato filtri.

Termini Correlati

Ready to validate what matters?

Ready to validate what matters?

Plexicus is Proof-Driven AppSec: validated findings, contextual understanding, and reviewed remediation — anchored in evidence, scoped with you.

Qualification

Check whether AI Swarm Pentest fits your environment.

Share the minimum context. We will review the scope and tell you the next commercial step.

Before submitting — verify you fit

Teams with fewer than 50 developers: start a 14-day Trial instead of booking a demo. Start a 14-day Trial →

0 / 280

No commitment. If you don't fit, we'll tell you.

SAMPLE HANDOVER · ILLUSTRATIVE

Sample evidence handover

A trimmed view of what your team receives at the end of an AI Swarm Pentest engagement. Real engagements include full technical evidence, executive narrative, and a remediation plan.

VALIDATED FINDING Evidence attached

Server-Side Request Forgery in webhooks/receiver

demo-project/sample-app · src/webhooks/receiver.py:42

SeverityHigh CVSS 3.18.6 Priority79 Confirmedvia replay

Untrusted caller-supplied URLs reach an internal egress without an allowlist. Replayed in a sandbox against a fresh authorised target — the same control was validated to fail twice.

REVIEWER-READY REMEDIATION Merge-ready PR

Validate the target URL against an allowlist of permitted hostnames. Reject private/internal IP ranges. Enforce HTTPS only.

plexicus/remediation/webhooks-ssrf 3 changed · 0 new files
42resp = requests.get(target_url)
42+if not is_allowed_host(target_url):
43+  raise WebhookRejected(target_url)
44+resp = requests.get(target_url, timeout=5)
Every engagement hands over:
  • Executive briefing
  • Validated findings list
  • Merge-ready PRs
  • Compliance mapping (NIS2 · DORA · CRA)