Sì, certamente. C'è Insecure Object Mapping , che è un termine più generico per "Assegnazione di massa" in @ Risposta di m1ke.
Nel tuo caso potrebbe essere possibile sfruttare l'applicazione includendo due parametri number
.
es. https://www.example.com?number=1&number=2
(questo è un GET, ma lo stesso vale per il POST).
tutto dipende da come l'applicazione lo gestisce. Alcuni framework possono rendere il primo parametro disponibile per l'applicazione ( 1
), alcuni possono rendere disponibile il secondo ( 2
) e alcuni possono fornire entrambi ( 1,2
). Tuttavia, quest'ultimo è spesso equivalente alla stringa di query semplicemente essendo number=1,2
.
Dove potrebbe trovarsi una vulnerabilità è se la stringa di query viene analizzata in due modi diversi in punti diversi. Ad esempio, uno script di autorizzazione può essere scritto utilizzando un framework che controlla se l'utente corrente ha il permesso di accedere al number
fornito. Questo framework accetta il primo valore di stringa di query ( 1
). Tuttavia, il framework che gestisce il number
per l'elaborazione back-end accetta l'ultimo number
fornito ( 2
), dando a un utente malintenzionato un modo per aggirare il controllo dell'autorizzazione.
Come dici tu, potrebbe essere possibile che esista un exploit in cui esiste un grande valore di stringa di query singola o che ci sono molti parametri forniti. Qualsiasi vulnerabilità in questo caso verrebbe probabilmente attribuita al server Web e allo stack tecnologico lato server stesso e sono stati scoperti tali exploit .