Il method dispatch è il processo che un framework usa per scegliere quale metodo dell'applicazione gestirà una richiesta in arrivo. Nei framework web, una richiesta può essere mappata a un gestore predefinito, a un'azione denominata o a un metodo specifico in base all'URL, ai parametri o alle regole di routing. Questo è un normale elemento di progettazione, ma diventa rilevante per la sicurezza quando i dati della richiesta possono influenzare quella scelta.
Perché è importante: se un attaccante può indirizzare il method dispatch, potrebbe raggiungere percorsi di codice che non erano mai destinati a essere esposti direttamente. In framework come Apache Struts, funzionalità come la Dynamic Method Invocation possono ampliare il comportamento del dispatch e aumentare la superficie di attacco. Chi difende dovrebbe sapere quali funzionalità di dispatch sono abilitate, limitare o disabilitare la flessibilità di routing non necessaria e controllare i log alla ricerca di pattern insoliti di selezione del metodo, come nomi di azioni o parametri del metodo controllati dall'attaccante. Una progettazione sicura del dispatch limita i punti in cui l'input può modificare il flusso di esecuzione.


