I buffer overflow locali sono relativamente facili da capire: lanciare qualche input su un'interfaccia e vedere se il processo fallisce con un core dump o simile. Tuttavia, a mio avviso, questo tipo di exploit funziona bene solo quando l'utente malintenzionato ha avuto accesso illimitato per testare le interfacce e vedere come il loro input influenza il processo.
Tuttavia, per cose come appliance bloccate (firewall, proxy, ecc.), server di fascia commerciale di fascia alta o software specializzato in cui un utente malintenzionato non può facilmente acquistarlo per giocare, come si raccoglie con successo il feedback necessario per montare un attacco riuscito?
(Capisco che se la risorsa ha un valore sufficiente, un aggressore motivato acquisterà un dispositivo così specializzato, ma mi piacerebbe sapere - in teoria - come potrebbe essere fatto senza accesso locale.)
Modifica : presumo anche che l'autore dell'attacco non abbia accesso a una shell remota generica.