Le informazioni sulle eccezioni e sugli errori possono essere utilizzate da un utente malintenzionato per mappare l'API di un'applicazione Web, quindi è di routine consultare gli elenchi di controllo di sicurezza per consigliare di restituire solo un tipo di messaggio "Si prega di contattare l'amministratore".
D'altro canto, siamo incoraggiati a utilizzare gli standard HTTP, che raccomandano errori come
- 400 - richiesta errata
- 401 - non autorizzato
- 403 - vietato
- 405 - metodo non consentito
- 500 - errore interno
- 501 - non implementato
Tutti sembrano fornire alcune informazioni sull'API, ovvero che tale chiamata esiste e mentre il tuo attacco era vicino a una richiesta formattata correttamente, non era abbastanza vicino.
Tutte queste richieste HTTP dovrebbero essere tradotte con lo stesso messaggio di errore o dovrebbe prevalere la conformità agli standard?
UPDATE : come sviluppatore di applicazioni, personalmente preferisco i messaggi di eccezione abbastanza ricchi e non mi piace che la maggior parte delle app su cui lavoro restituisca 200 per tutto ciò che l'applicazione restituisce e restituisce solo errori non-200 quando ASP.NET o IIS sembrano restituire un errore non-200.