Disinfetta i valori specifici degli attributi HTML con XSS

3

Vogliamo implementare una "modalità sicura" in un parser Markdown chiamato Parsedown . Abbiamo un'opzione MarkupEscaped che disabilita l'input HTML, ma questo non è sufficiente. Per essere sicuro, il parser deve disinfettare i valori degli attributi generati dall'utente.

Questi sono i:

  • href e title attributi di a tag.
  • src e title attributi di img tag.

Come dovremmo elaborare questi valori per renderli sicuri per gli attributi a cui appartengono?

    
posta Emanuil Rusev 24.01.2015 - 22:18
fonte

1 risposta

1

Assicurati di sfuggire a tutte le varianti di quotazione (singole e doppie) e limita l'URL nell'attributo href e src a uno schema XSS-safe come http: o https: (invece di javascript: , data: o qualsiasi altra cosa).

Prendi in considerazione anche l'esecuzione dell'output del parser tramite HTML Purifier per mantenerlo in un ambiente sandbox. Ciò colgerà i punti deboli della tua implementazione nel caso in cui hai trascurato qualcosa (che può sempre accadere).

Ultimo ma non meno importante, il markup HTML personalizzato deve sempre essere sottoposto a backup con Politica di sicurezza del contenuto . Ma questo potrebbe andare oltre lo scopo del tuo progetto.

    
risposta data 25.01.2015 - 00:21
fonte

Leggi altre domande sui tag