Ho un servizio web che accetta i dati POST (JSON) e restituisce parte dell'oggetto richiesta nella risposta JSON.
Questo è aperto a XSS se la risposta è resa HTML dal browser poiché qualcuno potrebbe aggiungere codice HTML arbitrario all'oggetto richiesta.
Qual è il modo standard per mitigarlo? Le opzioni attuali che posso pensare sono:
- Consenti solo le richieste con
X-Requested-With: XMLHttpRequest
di intestazione per bloccare gli attacchi che fanno affidamento su richieste non Ajax al mio servizio - Invia la risposta con il tipo di contenuto
application/json
e spera che il browser rifiuti di renderlo come HTML - Codifica i caratteri non sicuri nella risposta (come faccio? usando \ uxxxx?)
Non sono riuscito a trovare un riferimento concreto su questo.