Vantaggio della validazione delle dimensioni della mappa dei parametri nel controller dell'applicazione Web

0

Ho un'applicazione web (Spring MVC) e ho la convalida dei dati di input per ogni parametro nel controller. Ciò che NON è presente è il controllo della mappa dei parametri accettata Dimensione . i.e Quando il controller prevede 10 parametri e la richiesta ha 11 o 9.

Mi è stato detto che la dimensione dei parametri è importante da controllare per scongiurare eventuali attacchi o Injection i.e security pov, in particolare Parameter Injection. Questo è evidenziato durante la scansione da ZAP dove ZAP aggiunge un nuovo parametro query a un URL che non ha parametri di richiesta.

Secondo me, il controllo della dimensione può essere saltato a meno che non ci sia un motivo commerciale. L'applicazione ignorerà semplicemente i parametri aggiuntivi e se ci sarà qualcosa di meno che accettabile, la convalida dei dati di input si prenderà cura di esso. Il controllo delle dimensioni non aggiunge un ragionevole vantaggio alla sicurezza.

Il mio ragionamento è che lo sviluppatore può scrivere solo per avere 10 parametri, ma il framework sottostante può aggiungere più parametri. For-ex Spring MVC aggiungerà un parametro (token csrf). E qualsiasi aggiornamento nel framework può introdurre più o meno di questi.

Quindi, domanda, è importante verificare la dimensione della mappa dei parametri quando ogni validazione dei parametri è già in atto? Qual è il vero vantaggio per la sicurezza di questo?

    
posta Hima 29.08.2018 - 10:19
fonte

1 risposta

0

Questa risposta è @kingthorin in StackOverflow link

Ci sono alcuni vantaggi nell'utilizzo di una mappa delle dimensioni. Come prevenire gli attacchi HPP, ecc. Devi pesare il mal di testa di manutenzione rispetto al rischio di tali attacchi per quanto riguarda la tua app. ZAP aggiunge il parametro query sugli URL senza parametri per testare alcune cose come DOM XSS ecc che potrebbero essere perse o ignorate altrimenti.

    
risposta data 07.09.2018 - 09:00
fonte