XSS: Cross-Site Scripting
XSS permette di iniettare JavaScript malevolo. Il browser della vittima esegue il tuo codice.
Payload di Test
<script>alert(1)</script>
<img src=x onerror=alert(1)>
<svg onload=alert(1)>
Tipi di XSS
- Reflected - payload nell'URL
- Stored - payload salvato nel DB, il piu pericoloso
- DOM-based - processato lato client
CSRF
CSRF inganna un utente autenticato a eseguire azioni non volute.
<img src="https://banca.com/transfer?to=attacker&amount=1000">
<!-- Se la vittima e loggata il trasferimento avviene! -->
Difese XSS
// PHP
echo htmlspecialchars($input, ENT_QUOTES, 'UTF-8');
// JavaScript
element.textContent = userInput; // sicuro
// NON usare innerHTML con input utente
// CSP Header
header("Content-Security-Policy: default-src 'self'");
Difesa CSRF
<input type="hidden" name="csrf_token" value="TOKEN_SESSIONE">
// Verifica server-side prima di ogni azione
Conclusione
Nel Modulo 9: privilege escalation Linux.
Nessun commento ancora. Sii il primo!