È sicuro consentire nomi di campi non attendibili in JSON?

5

Quando si forma una struttura dati JSON, ci sono dei rischi per la sicurezza che consentono di scegliere i nomi dei campi da parte di un utente malintenzionato? Puoi presumere che verranno citati correttamente. Mi piacerebbe sapere se consentire ai nomi degli attributi di essere attaccati dagli attacchi pone qualche rischio aggiuntivo rispetto al permettere di scegliere i valori degli attributi.

Esempio: potrei avere un valore JSON come il seguente:

{
  "name": "me",
  "interests": "sewing",
  "comment": "hello world!"
}

Supponiamo che sia il nome dell'attributo ( name , interests , comment ) e i valori degli attributi ( me , sewing , hello world! ) possano essere scelti liberamente dall'aggressore. Supponi anche che siano citati correttamente (ad esempio, sono sempre circondati da virgolette doppie, evitiamo le barre rovesciate e i segni di virgolette, per evitare di rompere le virgolette).

C'è qualcosa di cui dovrei preoccuparmi è specifico per i nomi degli attributi scelti dagli aggressori?

Devo preoccuparmi che un utente malintenzionato scelga un nome di attributo come toString o valueOf o length o 0 ? O nomi che iniziano con un trattino basso?

    
posta D.W. 14.11.2011 - 01:55
fonte

1 risposta

6

Nessun rischio di sicurezza inerente .

Ovviamente, si rimane in balia della sicurezza della libreria con cui si sta analizzando il JSON, e si rimane in balia della sicurezza dell'applicazione che farà uso del pars JSON.

    
risposta data 14.11.2011 - 12:58
fonte

Leggi altre domande sui tag