È pericoloso analizzare l'input dell'utente senza verificare la correttezza?

1

Al momento ho il problema in una delle mie app autodefinite che l'app riceve input dell'utente (JSON) da un'altra app, ma non sono in grado di controllare se questo input è buono o dannoso. Non riesco a controllare questo perché non so cosa sia in questi dati, cioè so come dovrebbe apparire l'intestazione, ma i dati cambiano. Ma, prima che l'app remota sia in grado di inviare informazioni, deve autenticarsi. È sufficiente per fornire sicurezza contro gli attacchi malevoli tramite l'invio di dati errati o dovrei migliorare la sicurezza? Se sì, come?

    
posta arc_lupus 04.10.2014 - 10:44
fonte

1 risposta

2

No, l'autenticazione non è un controllo di compensazione sufficiente per la mancanza di controllo della validità dell'input.

Non puoi always di solito fidarti sempre dell'input degli utenti e di altri sistemi (e ti raccomando di non fidarti dell'input dal tuo stesso sistema). Ad esempio, ho avuto circa 5 istanze negli ultimi tre mesi in cui il sistema di un utente fidato ha agito come un conduttore inconsapevole per una scansione o un attacco. In un caso, il loro sistema stava accuratamente inserendo input malevoli da una terza parte in XML valido (appropriato per lo schema) e inoltrandolo sotto le loro credenziali. Oops!

Potresti non sapere cosa aspettarti per il contenuto valido dei dati, ma dovresti essere in grado di esaminare sia la struttura dei dati che non valida contenuto dei dati.

Struttura : se si tratta di un numero di telefono, codice postale, SSN o altri dati strutturati, è possibile eseguire il controllo della sintassi per assicurarsi che si adatti al modello appropriato.

Contenuti non validi - Se è un testo non strutturato, puoi convalidare le dimensioni e puoi cercare e quotare i metacaratteri che sono spesso usati per abusare di parser e processori (',;, (), {} , & amp ;, < & gt ;, ecc.). Questo è un compito difficile da fare in modo completo, ed è per questo che è sorto il mercato Web Application Firewall - che scarica la scansione di contenuto per stringhe dannose a uno strumento specializzato che può concentrarsi sull'attività.

    
risposta data 04.10.2014 - 16:55
fonte

Leggi altre domande sui tag