7.5.8. Gestione ambigua degli elementi di query (Ambiguous Handling of Query Elements)
7.5.8. Gestione ambigua degli elementi di query (Ambiguous Handling of Query Elements)
Il formato dei parametri dei moduli HTML definito nella Sezione 5 ("application/ x-www-form-urlencoded") di [HTMLURL] è ampiamente distribuito e supportato da molti framework applicativi. Per comodità, alcuni di questi framework in particolare combinano i parametri di query presenti nella query HTTP e quelli presenti nel contenuto del messaggio, in particolare per messaggi POST con un valore Content-Type di "application/x-www-form-urlencoded". L'identificatore di componente derivato @query-param definito nella Sezione 2.2.8 trae i suoi valori solo dalla sezione query dell'URI di destinazione della richiesta. Pertanto, sarebbe possibile per un attaccante oscurare o sostituire parametri di query in una richiesta sovrascrivendo un parametro di query firmato con un parametro di modulo non firmato, o viceversa.
Per contrastare ciò, un'applicazione deve assicurarsi che i valori usati per la base della firma e per l'applicazione siano tratti da un contesto coerente, in questo caso il componente query dell'URI di destinazione. Inoltre, quando la richiesta HTTP ha contenuto, un'applicazione dovrebbe firmare anche il contenuto del messaggio, come discusso nella Sezione 7.2.8.